Skrót klawiaturowy Sublime Text 2 do otwierania pliku w określonej przeglądarce (np. Chrome)

109

Zajmuję się tworzeniem stron internetowych i wypróbowuję Sublime Text 2. Czy istnieje skrót klawiaturowy umożliwiający otwarcie bieżącego pliku w określonej przeglądarce (np. Chrome)?

Każda pomoc w konfiguracji Sublime Text do tworzenia stron internetowych jest mile widziana!

wwwuser
źródło

Odpowiedzi:

168

Nie jestem pewien, czy to pytanie jest właściwe, ale możesz dodać nowy „System budowania” pod Tools -> Build System -> New Build System...

Podobnie jak w przypadku wszystkich konfiguracji w Sublime Text, jest to tylko JSON, więc powinno być całkiem proste. Najważniejszą rzeczą, którą będziesz chciał skonfigurować, jest "cmd"klucz / wartość. Oto konfiguracja kompilacji do uruchamiania Chrome na moim Macu.

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

Zapisz to jako Chrome.sublime-build, ponownie uruchom Sublime Text i powinieneś zobaczyć nową Chromeopcję na liście kompilacji. Wybierz go, a następnie powinieneś być w stanie uruchomić Chrome z Cmd+ Bna komputerze Mac (lub dowolnym skrócie, który skonfigurowałeś do kompilacji, może jego F7lub Ctrl+ Bna komputerze z systemem Windows)

Przynajmniej powinno to dać ci impuls we właściwym kierunku.

Edytować:

Inną rzeczą, którą często robię w Sublime Text 2, jest kliknięcie prawym przyciskiem myszy w dokumencie, jednym z elementów menu kontekstowego jest Copy File Pathumieszczenie pełnej ścieżki bieżącego pliku do schowka w celu łatwego wklejenia do dowolnej przeglądarki.


Sublime Text 3 (przykład systemu Linux) "shell_cmd": "google-chrome '$ file'"

J. Holmes
źródło
5
Dzięki! To bardzo pomaga.
wwwuser,
53
W przypadku systemu operacyjnego Windows użyj tego polecenia cmd: {"cmd": ["PATH_TO_YOUR_CHROME", "$ file"]}
didxga
15
Uważaj na odwrotne ukośniki w ścieżce systemu Windows, zrób je podwójnie lub uzna je za nieprawidłową sekwencję ucieczki, przez co nie działa.
Anioł
13
Również dla Linuksa jest po prostu{ "cmd": ["google-chrome", "$file"] }
lambda
13
W Sublime Text 3 polecenie zostało zmienione na "shell_cmd": "open -a your_app '$file'".
Chris
48

W najnowszej kompilacji (2207) dodano opcję „Otwórz w menu kontekstowym przeglądarki dla plików HTML”. Jego data wydania to 25 czerwca 2012.

aanton
źródło
2
Musiałem przeoczyć menu kontekstowe prawym przyciskiem myszy. Dzięki za tę wskazówkę!
orschiro
17
Możesz łatwo przypisać do tego skrót: Wybierz Preferencje> Wiązania klawiszy - Użytkownik. następnie w otwartym pliku mapy klawiszy .sublime dodaj { "keys": ["ctrl+alt+b"], "command": "open_in_browser"}(lub dowolną inną kombinację klawiszy)
Jarón Barends
1
Jaron ma rację, ale pamiętaj, że kombinacja klawiszy nie może kolidować z istniejącymi, w przeciwnym razie po prostu nie zadziała i nie ma ostrzeżeń o konfliktach skrótów w wysublimowanych, o ile wiem
Philip007
1
[{"keys": ["super +;"], "command": "run_macro_file", "args": {"file": "Packages / User / Semicolon.sublime-macro"}}] tutaj jest zawartość mojego plik konfiguracyjny? jak dodać twoje do mojej istniejącej konfiguracji? Dziękuję Ci!
Nicolas S.Xu
2
@NeilMonroe Aktywuj polecenia logowania w konsoli, aby zobaczyć możliwe błędysublime.log_commands(True)
aanton
33

Windows7 FireFox / Chrome:

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

po prostu użyj własnej ścieżki do firefox.exe lub chrome.exe, aby zastąpić moją.

Zastąp firefox.exe lub chrome.exe własną ścieżką.

Boya
źródło
1
C:\\Users\\$User$\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exeto wspólna ścieżka do chrome w systemie Windows (zamień $ User $ na swoją nazwę użytkownika).
Ben
1
Tak, ale czy użyje automatycznej kompilacji, czy też muszę określić kompilację. Ponieważ mam wiele innych kompilacji i używam opcji kompilacji automatycznej, czy będzie to działać w przypadku kompilacji automatycznej?
IGRACH
14

To działało w Sublime 3:


Aby przeglądać pliki html za pomocą domyślnej aplikacji za pomocą skrótu Alt + L:

Dodaj tę linię do Preferences -> Key Bindings - Userpliku otwierającego:

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


Aby przeglądać lub otwierać za pomocą zewnętrznej aplikacji, takiej jak Chrome:

Dodaj tę linię do Tools -> Build System -> New Build System...otwierania pliku i zapisz pod nazwą"OpenWithChrome.sublime-build"

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

Następnie możesz przeglądać / otwierać plik, wybierając Tools -> Build System -> OpenWithChromei naciskając klawisz F7lub Ctrl+B.

Mamadex
źródło
1
To najprostszy sposób na zrobienie tego. Większość ludzi potrzebuje tylko tej linii do przypisania klawiszy.
Shawn Erquhart
1
Możesz także zamienić podwójne odwrotne znaki \` with single slashaes / `, które Sublime Text zrozumie również w systemie Windows.
kleinfreund
1
To zadziałało, ale okazało się, że potrzebuję nazwy pliku w cudzysłowie na wypadek, gdyby mój plik znajdował się w katalogu ze spacjami w nazwie. Np. „C: \ Mój folder \ test.html” spowodowałby otwarcie dwóch kart Chrome: „C: \ My” i „Folder \ test.html”, co jest błędne. Zawijanie części $ file w cudzysłów i wtedy działa dobrze (zamień $ file na \ "$ file \" w powyższym poleceniu).
PancakesOwn
13

Zainstaluj wtyczkę Wyświetl w przeglądarce za pomocą Kontroli pakietów lub pobierz pakiet z github i rozpakuj ten pakiet w folderze pakietów (z przeglądania pakietów)

następnie przejdź do Preferencje, Wiązania klawiszy - Użytkownik, wklej to

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

teraz F12 będzie twoim klawiszem skrótu.

dicentiu
źródło
Musiałem też zmienić ostatnią linię Preferences --> PackageSettings--> view in Browser -- > default settings; na „chrome 64” (wcześniej „firefox”). Wtedy działa idealnie z każdym skrótem;)
kolboc.
12

Możesz zainstalować wtyczkę SideBarEnhancements , która między innymi pozwoli Ci otworzyć plik w przeglądarce po prostu klikając F12.

Aby otworzyć dokładnie w Chrome, musisz naprawić plik „Side Bar.sublime-settings” i ustawić "default_browser"na "chrome".

Polecam również zapoznanie się z tym samouczkiem wideo dotyczącym Sublime Text 2.

Timofey Gorshkov
źródło
1
Errandir, gdzie dokładnie jest ten film? Pod powyższym łączem znajduje się kilka filmów. Używam systemu Windows 7, a nie Mac. Dzięki.
Chris22
8

W systemie Windows uruchamiającym domyślną przeglądarkę ze zdefiniowanym adresem URL:

Narzędzia> Buduj system> Nowy system budowania:

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

ctrl+ Bi voila!

bluehipy
źródło
1
niesamowite, dokładnie to, czego szukałem. Dzięki!
jonschlinkert
8

Wydaje się, że jest tu wiele rozwiązań dla systemu Windows, ale to jest najprostsze:

Narzędzia -> Buduj system -> Nowy system budowania , wpisz powyższe, zapisz jako Browser.sublime-build:

{
    "cmd": "explorer $file"
}

Następnie wróć do pliku HTML. Narzędzia -> Buduj system -> Przeglądarka . Następnie naciśnij, CTRL-Ba plik zostanie otwarty w dowolnej przeglądarce, która jest domyślną przeglądarką systemu.

Simon Sarris
źródło
4

Oto inne rozwiązanie, jeśli chcesz uwzględnić różne przeglądarki w pliku. Jeśli ty i użytkownik Maca, z wysublimowanego menu przejdź do, Narzędzia> Nowa wtyczka. Usuń wygenerowany kod i wklej następujące elementy:

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)

Zapisać. Następnie otwórz przypisania klawiszy użytkownika. (Narzędzia> Paleta poleceń> „Wiązania klawiszy użytkownika”) i dodaj to gdzieś do listy:

{ "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"}}

Teraz otwórz dowolny plik html w Sublime i użyj jednego ze skrótów klawiszowych, które otworzy ten plik w Twojej ulubionej przeglądarce.

egyamado
źródło
3

Na Mac i Sublime Text 3, którego wersja to 3103, treść powinna być

{
    "shell_cmd": "open -a 'Google Chrome' '$file'"
}
clinyong
źródło
3

Narzędzia -> Buduj system -> Nowy system budowania. Typ następujący jako Twój system operacyjny, zapisz jako Chrome.sublime-build

System operacyjny Windows

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

System operacyjny Mac

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

Zapisz plik - Chrome.sublime-build in location

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

Sublime View in Browswer - https://github.com/adampresley/sublime-view-in-browser (Próbowałem z Linuksem i działa)

J4cK
źródło
Pamiętaj, aby zapisać jako .sublime-build jako rozszerzenie Przykład, jeśli Firefox:Firefox.sublime-build
sameer tzar
1

Odpowiedź egyamado była naprawdę pomocna! Możesz go ulepszyć dla swojej konkretnej konfiguracji za pomocą czegoś takiego:

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)

A potem w twoich skrótach klawiszowych:

{ "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"}}

Przykładowe adresy URL przechowujemy u góry wszystkich naszych szablonów, więc pierwsza część umożliwia wyróżnienie tego przykładowego adresu URL i uruchomienie go w przeglądarce. Jeśli żaden tekst nie jest podświetlony, po prostu użyje nazwy pliku. Możesz dostosować wywołania poleceń w przypisaniach klawiszy do adresu URL hosta lokalnego i ścieżki systemowej do dokumentów, nad którymi pracujesz.

nabrown
źródło
1

Mam podobną sytuację jak ty. Nie chcę wysublimowanego otwartego edytora plików binarnych, takich jak jpg png. Zamiast tego domyślna aplikacja systemu otwartego jest bardziej rozsądna.

  1. utwórz jedną kompilację . Tak jak zaakceptowana odpowiedź. Ale otworzy zarówno domyślną aplikację, jak i edytor szesnastkowy.
  2. Pulgin OpenDefaultApplication https://github.com/SublimeText/OpenDefaultApplication Będzie mieć menu kontekstowe otwarte po kliknięciu prawym przyciskiem myszy OpenInDefaultApplication. Ale otworzy również domyślną aplikację i edytor szesnastkowy
  3. Pulgin: Non Text Files https://packagecontrol.io/packages/Non%20Text%20Files Dodaj konfigurację w ustawieniach użytkownika

    "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"
    ]
    

Wybieram trzeci sposób, jest to dla mnie całkiem rozsądne. Otworzy plik jpg w domyślnej aplikacji systemowej i szybko automatycznie zamknie tryb edycji w tym samym czasie. Jeśli chodzi o pierwsze dwa sposoby, możesz ustawić "preview_on_click": false, aby zatrzymać automatyczne otwieranie edytora szesnastkowego.

Victor Choy
źródło