Método abreviado de teclado Sublime Text 2 para abrir un archivo en el navegador especificado (por ejemplo, Chrome)

109

Hago desarrollo web y estoy probando Sublime Text 2. ¿Existe un atajo de teclado para abrir el archivo actual en un navegador específico (por ejemplo, Chrome)?

¡Se agradece cualquier ayuda para configurar Sublime Text para el desarrollo web!

wwwusuario
fuente

Respuestas:

168

No estoy seguro de que esta pregunta sea adecuada aquí, pero puede agregar un nuevo "Sistema de compilación" en Tools -> Build System -> New Build System...

Al igual que con toda la configuración en Sublime Text, es solo JSON, por lo que debería ser bastante sencillo. Lo principal que querrás configurar es la "cmd"clave / val. Aquí está la configuración de compilación para iniciar Chrome en mi Mac.

{
    "cmd": ["open", "-a", "Google Chrome", "$file"]
}

Guárdelo como Chrome.sublime-build, reinicie Sublime Text y debería ver una nueva Chromeopción en la lista de compilación. Selecciónelo, y luego debería poder iniciar Chrome con Cmd+ Ben una Mac (o cualquier tecla de acceso rápido que haya configurado para compilar, tal vez su F7o Ctrl+ Ben una máquina con Windows)

Al menos esto debería darle un empujón en la dirección correcta.

Editar:

Otra cosa que termino haciendo mucho en Sublime Text 2 es que si haces clic derecho dentro de un documento, uno de los elementos en el menú contextual es Copy File Path, que coloca la ruta completa del archivo actual en el portapapeles para pegarlo fácilmente en cualquier navegador que desees.


Sublime Text 3 (ejemplo de linux) "shell_cmd": "google-chrome '$ file'"

J. Holmes
fuente
5
¡Gracias! Esto ayuda inmensamente.
wwwuser
53
Para Windows OS, use este cmd: {"cmd": ["PATH_TO_YOUR_CHROME", "$ file"]}
didxga
15
Tenga cuidado con las barras invertidas en la ruta de Windows, haga que se dupliquen o las considerará como una secuencia de escape no válida, por lo que no funcionará.
Angel
13
También para linux es justo{ "cmd": ["google-chrome", "$file"] }
lambda
13
En Sublime Text 3, el comando se había cambiado a "shell_cmd": "open -a your_app '$file'".
Chris
48

"Abrir en el menú contextual del navegador para archivos HTML" se ha agregado en la última versión (2207). Su fecha de estreno fue el 25 de junio de 2012.

Aanton
fuente
2
Debo haber pasado por alto el menú contextual con el clic derecho. ¡Gracias por este consejo!
orschiro
17
Y puede asignar fácilmente un atajo para esto: Vaya a Preferencias> Combinaciones de teclas - Usuario. luego, en el archivo .sublime-keymap que se abre, agregue { "keys": ["ctrl+alt+b"], "command": "open_in_browser"}(o cualquier otra combinación de teclas que desee)
Jarón Barends
1
Jaron tiene razón, pero tenga en cuenta que la combinación de teclas no puede entrar en conflicto con las existentes, de lo contrario, simplemente no funcionará, y no hay advertencias de conflicto de atajos en sublime por lo que puedo decir
Philip007
1
[{"keys": ["super +;"], "command": "run_macro_file", "args": {"file": "Packages / User / Semicolon.sublime-macro"}}] aquí está el contenido en mi ¿archivo de configuración? ¿Cómo agrego el tuyo a mi configuración existente? ¡Gracias!
Nicolas S.Xu
2
@NeilMonroe Active los comandos de registro en la consola para ver posibles erroressublime.log_commands(True)
aanton
33

Windows7 FireFox / Chrome:

    {
       "cmd":["F:\\Program Files\\Mozilla Firefox\\firefox.exe","$file"]
    }

simplemente use su propia ruta de firefox.exe o chrome.exe para reemplazar la mía.

Reemplace firefox.exe o chrome.exe con su propia ruta.

boya
fuente
1
C:\\Users\\$User$\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exees la ruta común para Chrome en Windows (reemplace $ User $ con su nombre de usuario).
Ben
1
Sí, pero ¿usará la compilación automática o tengo que especificar la compilación? Debido a que tengo muchas otras compilaciones y uso la opción de compilación automática, ¿funcionará en la compilación automática?
IGRACH
14

Esto funcionó en Sublime 3:


Para buscar archivos html con la aplicación predeterminada mediante la tecla de acceso rápido Alt + L:

Agregue esta línea al Preferences -> Key Bindings - Userarchivo de apertura:

{ "keys": ["alt+l"], "command": "open_in_browser"}


Para navegar o abrir con una aplicación externa como Chrome:

Agregue esta línea al Tools -> Build System -> New Build System...archivo de apertura y guárdelo con el nombre"OpenWithChrome.sublime-build"

"shell_cmd": "C:\\PROGRA~1\\Google\\Chrome\\APPLIC~1\\chrome.exe $file"

Luego, puede buscar / abrir el archivo seleccionando Tools -> Build System -> OpenWithChromey presionando la tecla F7o Ctrl+B.

Mamadex
fuente
1
Esta es la forma más sencilla de hacerlo. Agregar la línea a las combinaciones de teclas es todo lo que necesitará la mayoría de la gente.
Shawn Erquhart
1
También puede reemplazar el doble backshashes \` with single slashaes / `que Sublime Text también entenderá en Windows.
kleinfreund
1
Esto funcionó, pero descubrí que necesitaba el nombre del archivo entre comillas en caso de que mi archivo estuviera en un directorio que tuviera espacios en el nombre. Por ejemplo: "C: \ My Folder \ test.html" haría que dos pestañas de Chrome abrieran "C: \ My" y "Folder \ test.html", lo cual es incorrecto. Envolver la parte $ file con comillas de escape y luego esto funciona bien (reemplace $ file con \ "$ file \" en el comando anterior).
PancakesOwn
13

Instala el complemento View In Browser usando Package Control o descargue el paquete desde github y descomprima este paquete en su carpeta de paquetes (que desde los paquetes de exploración )

después de esto, vaya a Preferences, Key Bindings - User, pegue esto

[{"keys": ["f12"], "command": "view_in_browser"}]

ahora F12 será su tecla de atajo.

dicentiu
fuente
También tuve que cambiar la última línea Preferences --> PackageSettings--> view in Browser -- > default settings; a "chrome 64" (era "firefox"). Entonces funciona perfectamente con cualquier atajo;)
kolboc
12

Puede instalar el complemento SideBarEnhancements , que, entre otras cosas, le permitirá abrir archivos en el navegador con solo hacer clic en F12.

Para abrir exactamente en Chrome, que tendrá que arreglar archivo “Side-Bar.sublime ajustes” y conjunto "default_browser"para ser "chrome".

También recomiendo aprender este video tutorial sobre Sublime Text 2.

Timofey Gorshkov
fuente
1
Errandir ¿dónde está exactamente este video? Hay varios videos en el enlace que enumeras arriba. Estoy usando Windows 7, no Mac. Gracias.
Chris 22
8

En Windows que inicia el navegador predeterminado con una URL predefinida:

Herramientas> Sistema de compilación> Nuevo sistema de compilación:

{
    "cmd": ["cmd","/K","start http://localhost/projects/Reminder/"]
}

ctrl+ By ¡voilá!

bluehipy
fuente
1
impresionante, exactamente lo que estaba buscando. ¡Gracias!
jonschlinkert
8

Parece haber muchas soluciones para Windows aquí, pero esta es la más simple:

Herramientas -> Sistema de compilación -> Nuevo sistema de compilación , escriba lo anterior, guárdelo como Browser.sublime-build:

{
    "cmd": "explorer $file"
}

Luego regrese a su archivo HTML. Herramientas -> Construir sistema -> Navegador . Luego presione CTRL-By el archivo se abrirá en cualquier navegador que sea el navegador predeterminado de su sistema.

Simón Sarris
fuente
4

Aquí hay otra solución si desea incluir diferentes navegadores en el archivo. Si usted y el usuario de Mac, desde el menú sublime vaya a Herramientas> Nuevo complemento. Elimina el código generado y pasa lo siguiente:

import sublime, sublime_plugin
import webbrowser


class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self,edit,keyPressed):
      url = self.view.file_name()
      if keyPressed == "1":
         navegator = webbrowser.get("open -a /Applications/Firefox.app %s")
      if keyPressed == "2":
         navegator = webbrowser.get("open -a /Applications/Google\ Chrome.app %s")
      if keyPressed == "3":
         navegator = webbrowser.get("open -a /Applications/Safari.app %s")
      navegator.open_new(url)

Salvar. Luego abra las combinaciones de teclas de usuario. (Herramientas> Paleta de comandos> "Vinculaciones de teclas de usuario") y agregue esto en algún lugar de la lista:

{ "keys": ["alt+1"], "command": "open_browser", "args": {"keyPressed": "1"}},
{ "keys": ["alt+2"], "command": "open_browser", "args": {"keyPressed": "2"}},
{ "keys": ["alt+3"], "command": "open_browser", "args": {"keyPressed": "3"}}

Ahora abra cualquier archivo html en Sublime y use una de las combinaciones de teclas, que abriría ese archivo en su navegador favorito.

egyamado
fuente
3

En mac y sublime text 3, cuya versión es 3103, el contenido debe ser

{
    "shell_cmd": "open -a 'Google Chrome' '$file'"
}
clinyong
fuente
3

Herramientas -> Sistema de compilación -> Nuevo sistema de compilación. El siguiente tipo como su sistema operativo, guardar como Chrome.sublime-build

SO Windows

  {
        "cmd": ["C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe", "$file"]
  }

Mac OS

{
   "cmd": ["open", "-a", "/Applications/Google Chrome.app", "$file"]
}

Guarde el archivo: Chrome.sublime-build in location

C:\Users\xnivirro\Downloads\Software-Installed\Sublime-2\Data\Packages\User

Vista sublime en Browswer - https://github.com/adampresley/sublime-view-in-browser (Probé con Linux y funciona)

J4cK
fuente
Asegúrese de guardar como .sublime-build como extensión Ejemplo, si Firefox:Firefox.sublime-build
sameer tzar
1

¡La respuesta de egyamado fue realmente útil! Puede mejorarlo para su configuración particular con algo como esto:

import sublime, sublime_plugin
import webbrowser

class OpenBrowserCommand(sublime_plugin.TextCommand):
   def run(self, edit, keyPressed, localHost, pathToFiles):  
      for region in self.view.sel():  
         if not region.empty():  
            # Get the selected text  
            url = self.view.substr(region)  
            # prepend beginning of local host url 
            url = localHost + url  
         else:
            # prepend beginning of local host url 
            url = localHost + self.view.file_name()
            # replace local path to file
            url = url.replace(pathToFiles, "")


         if keyPressed == "1":
            navigator = webbrowser.get("open -a /Applications/Firefox.app %s")
         if keyPressed == "2":
            navigator = webbrowser.get("open -a /Applications/Google\ Chrome.app %s")
         if keyPressed == "3":
            navigator = webbrowser.get("open -a /Applications/Safari.app %s")
         navigator.open_new(url)

Y luego en tus combinaciones de teclas:

{ "keys": ["alt+1"], "command": "open_browser", "args": {"keyPressed": "1", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"}},
{ "keys": ["alt+2"], "command": "open_browser", "args": {"keyPressed": "2", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"}},
{ "keys": ["alt+3"], "command": "open_browser", "args": {"keyPressed": "3", "localHost": "http://nbrown.smartdestinations.com", "pathToFiles":"/opt/local/apache2/htdocs"}}

Almacenamos URL de muestra en la parte superior de todas nuestras plantillas, por lo que la primera parte le permite resaltar esa URL de muestra y ejecutarla en un navegador. Si no hay texto resaltado, simplemente usará el nombre del archivo. Puede ajustar las llamadas de comando en las combinaciones de teclas a su URL localhost y la ruta del sistema a los documentos en los que está trabajando.

nabrown
fuente
1

Tengo una situación similar a la tuya. No quiero un editor abierto sublime para archivos binarios como jpg png. En cambio, la aplicación predeterminada del sistema abierto es más razonable.

  1. crear una compilación . Como la respuesta aceptada. Pero abrirá la aplicación predeterminada y el editor hexadecimal.
  2. Pulgin OpenDefaultApplication https://github.com/SublimeText/OpenDefaultApplication Tendrá el menú contextual del botón derecho del ratón OpenInDefaultApplication. Pero también abrirá la aplicación predeterminada y el editor hexadecimal
  3. Pulgin: Archivos sin texto https://packagecontrol.io/packages/Non%20Text%20Files Agregue la configuración en la configuración del usuario

    "binary_file_patterns": ["*.JPG","*.jpg", "*.jpeg", "*.png", "*.gif", "*.ttf", "*.tga", "*.dds", "*.ico", "*.eot", "*.pdf", "*.swf", "*.jar", "*.zip"],
    "prevent_bin_preview": true,
    "open_externally_patterns": [
       "*.JPG",
       "*.jpg",
       "*.jpeg",
       "*.JPEG",
       "*.png",
        "*.PGN",
       "*.gif",
        "*.GIF",
        "*.zip",
        "*.ZIP",
        "*.pdf",
        "*.PDF"
    ]
    

Elijo la tercera vía, es bastante conveniente para mí. Abrirá el archivo jpg en la aplicación predeterminada del sistema y cerrará rápidamente el modo de edición automáticamente al mismo tiempo. En cuanto a las dos primeras formas, puede establecer "preview_on_click": false, para dejar de abrir automáticamente el editor hexadecimal de forma comprometida.

Victor Choy
fuente