Сочетание клавиш Sublime Text 2 для открытия файла в указанном браузере (например, Chrome)

109

Я занимаюсь веб-разработкой и пробую Sublime Text 2. Есть ли сочетание клавиш для открытия текущего файла в указанном браузере (например, Chrome)?

Любая помощь в настройке Sublime Text для веб-разработки приветствуется!

wwwuser
источник

Ответы:

168

Я не совсем уверен, что этот вопрос здесь уместен, но вы можете добавить новую «Систему сборки» в Tools -> Build System -> New Build System...

Как и во всей конфигурации в Sublime Text, это просто JSON, поэтому он должен быть довольно простым. Главное, что вам нужно настроить, - это "cmd"ключ / val. Вот конфигурация сборки для запуска Chrome на моем Mac.

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

Сохраните это как Chrome.sublime-build, перезапустите Sublime Text, и вы должны увидеть новую Chromeопцию в списке сборки. Выберите его, и тогда вы сможете запустить Chrome с помощью Cmd+ Bна Mac (или любой другой горячей клавиши, которую вы настроили для сборки, возможно, ее F7или Ctrl+ Bна компьютере с Windows)

По крайней мере, это должно дать вам толчок в правильном направлении.

Редактировать:

Еще одна вещь, которую я часто делаю в Sublime Text 2, - это если вы щелкаете правой кнопкой мыши внутри документа, один из пунктов контекстного меню - Copy File Path помещает полный путь к текущему файлу в буфер обмена для легкой вставки в любой браузер, который вы хотите.


Sublime Text 3 (пример для Linux) "shell_cmd": "google-chrome '$ file'"

Дж. Холмс
источник
5
Спасибо! Это очень помогает.
wwwuser 05
53
Для ОС Windows используйте этот cmd: {"cmd": ["PATH_TO_YOUR_CHROME", "$ file"]}
didxga
15
Остерегайтесь обратных косых черт в пути Windows, сделайте их двойными, иначе он будет рассматривать их как недопустимую escape-последовательность, поэтому не работает.
Angel
13
Также для linux это просто{ "cmd": ["google-chrome", "$file"] }
лямбда
13
В Sublime Text 3 команда была изменена на "shell_cmd": "open -a your_app '$file'".
Крис
48

«Открыть в браузере контекстное меню для файлов HTML» было добавлено в последнюю сборку (2207). Дата выхода - 25 июня 2012 года.

aanton
источник
2
Должно быть, я пропустил контекстное меню при щелчке правой кнопкой мыши. Спасибо за этот совет!
orschiro
17
И вы можете легко назначить для этого ярлык: перейдите в «Настройки»> «Привязки клавиш» - «Пользователь». затем, в открывшемся файле .sublime-keymap, добавьте { "keys": ["ctrl+alt+b"], "command": "open_in_browser"}(или любую другую комбинацию клавиш, которая вам нравится)
Jarón Barends
1
Джарон прав, но имейте в виду, что комбинация клавиш не может конфликтовать с существующими, иначе она просто не сработает, и, насколько я могу судить, нет предупреждений о конфликтах ярлыков в возвышенном
Philip007
1
[{"keys": ["super +;"], "command": "run_macro_file", "args": {"file": "Packages / User / Semicolon.sublime-macro"}}] вот содержание в моем файл конфигурации? как мне добавить вашу в мою существующую конфигурацию? Спасибо!
Nicolas S.Xu 01
2
@NeilMonroe Активируйте команды ведения журнала в консоли, чтобы увидеть возможные ошибкиsublime.log_commands(True)
aanton
33

Windows7 FireFox / Chrome:

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

просто используйте свой собственный путь к firefox.exe или chrome.exe, чтобы заменить мой.

Замените firefox.exe или chrome.exe на свой собственный путь.

Боя
источник
1
C:\\Users\\$User$\\AppData\\Local\\Google\\Chrome\\Application\\chrome.exe- это общий путь для Chrome в Windows (замените $ User $ своим именем пользователя).
Бен
1
Да, но будет ли он использовать автоматическую сборку, или мне нужно указать сборку. Поскольку у меня много других сборок, и я использую опцию автоматической сборки, будет ли она работать при автоматической сборке?
IGRACH
14

Это сработало на Sublime 3:


Чтобы просмотреть html-файлы в приложении по умолчанию, нажав горячую клавишу Alt + L:

Добавьте эту строку в Preferences -> Key Bindings - Userоткрывающийся файл:

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


Чтобы просмотреть или открыть с помощью внешнего приложения, например Chrome:

Добавьте эту строку в Tools -> Build System -> New Build System...открываемый файл и сохраните с именем"OpenWithChrome.sublime-build"

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

Затем вы можете просмотреть / открыть файл, выбрав Tools -> Build System -> OpenWithChromeи нажав кнопку F7или Ctrl+B.

Мамадекс
источник
1
Это самый простой способ сделать это. Добавление строки к привязке клавиш - это все, что понадобится большинству людей.
Шон Эркхарт
1
Вы также можете заменить двойной обратный хэш \` with single slashaes / `, который Sublime Text также понимает в Windows.
kleinfreund
1
Это сработало, но я обнаружил, что мне нужно имя файла в кавычках, если мой файл находится в каталоге с пробелами в имени. Пример: «C: \ My Folder \ test.html» приведет к открытию двух вкладок Chrome «C: \ My» и «Folder \ test.html», что неверно. Оберните часть $ file экранированными кавычками, и тогда это отлично работает (замените $ file на \ "$ file \" в приведенной выше команде).
PancakesOwn
13

Установите плагин View In Browser с помощью Package Control или загрузите пакет с github и разархивируйте этот пакет в папку пакетов (это из пакетов просмотра)

после этого перейдите в Настройки, привязки клавиш - Пользователь, вставьте это

[{"ключи": ["f12"], "команда": "view_in_browser"}]

теперь F12 будет вашим сочетанием клавиш.

dicentiu
источник
Мне также пришлось изменить последнюю строку в Preferences --> PackageSettings--> view in Browser -- > default settings; на "chrome 64" (был "firefox"). Тогда отлично работает с любым ярлыком;)
kolboc 08
12

Вы можете установить плагин SideBarEnhancements , который, помимо прочего, даст вам возможность открывать файл в браузере, просто нажав F12.

Чтобы открываться именно в Chrome, вам нужно будет исправить файл «Side Bar.sublime-settings» и установить "default_browser"его "chrome".

Я также рекомендую изучить этот видеоурок по Sublime Text 2.

Тимофей Горшков
источник
1
Эррандир, где именно это видео? По указанной вами ссылке есть несколько видео. Я использую Windows 7, а не Mac. Спасибо.
Chris 22
8

В Windows запускает браузер по умолчанию с предопределенным URL:

Инструменты> Система сборки> Новая система сборки:

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

ctrl+ Bи вуаля!

голубой
источник
1
потрясающе, именно то, что я искал. Спасибо!
jonschlinkert 04
8

Здесь вроде бы много решений для Windows, но это самое простое:

Инструменты -> Система сборки -> Новая система сборки , введите указанное выше, сохраните как Browser.sublime-build:

{
    "cmd": "explorer $file"
}

Затем вернитесь к своему HTML-файлу. Инструменты -> Система сборки -> Браузер . Затем нажмите, CTRL-Bи файл будет открыт в любом браузере, используемом по умолчанию в вашей системе.

Саймон Саррис
источник
4

Вот еще одно решение, если вы хотите включить в файл разные браузеры. Если вы и пользователь Mac, из возвышенного меню выберите Инструменты> Новый плагин. Удалите сгенерированный код и вставьте следующее:

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)

Сохранить. Затем откройте User Keybindings. (Инструменты> Палитра команд> «Привязки клавиш пользователя») и добавьте это где-нибудь в список:

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

Теперь откройте любой html-файл в Sublime и используйте одну из комбинаций клавиш, которая откроет этот файл в вашем любимом браузере.

Егьямадо
источник
3

На Mac и Sublime Text 3, версия 3103, содержимое должно быть

{
    "shell_cmd": "open -a 'Google Chrome' '$file'"
}
клиньонг
источник
3

Инструменты -> Система сборки -> Новая система сборки. Тип, следующий за вашей ОС, сохраните как Chrome.sublime-build

ОС Windows

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

ОС MAC

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

Сохраните файл - Chrome.sublime-build в папке

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

Sublime View в Browswer - https://github.com/adampresley/sublime-view-in-browser (пробовал с Linux, и он работает)

J4cK
источник
Обязательно сохраните как .sublime-build как расширение Пример, если Firefox:Firefox.sublime-build
sameer tzar
1

Ответ Эгьямадо был действительно полезен! Вы можете улучшить его для своей конкретной настройки примерно так:

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)

А затем в ваших сочетаниях клавиш:

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

Мы храним образцы URL-адресов в верхней части всех наших шаблонов, поэтому первая часть позволяет выделить этот образец URL-адреса и запустить его в браузере. Если текст не выделен, будет просто использовано имя файла. Вы можете настроить вызовы команд в привязках к вашему URL-адресу localhost и системному пути к документам, над которыми вы работаете.

набухший
источник
1

У меня похожая ситуация, как и у вас. Я не хочу возвышенного открытого редактора для двоичных файлов, таких как jpg png. Вместо этого более разумно открытое системное приложение по умолчанию.

  1. создать одну сборку . Как и принятый ответ. Но он откроет как приложение по умолчанию, так и шестнадцатеричный редактор.
  2. Pulgin OpenDefaultApplication https://github.com/SublimeText/OpenDefaultApplication У него будет контекстное меню OpenInDefaultApplication, вызываемое правой кнопкой мыши. Но он откроет как приложение по умолчанию, так и шестнадцатеричный редактор.
  3. Pulgin: Нетекстовые файлы https://packagecontrol.io/packages/Non%20Text%20Files Добавить конфиг в настройках пользователя

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

Выбираю третий способ, мне он вполне подходит. Он откроет файл jpg в системном приложении по умолчанию и одновременно автоматически быстро закроет режим редактирования. Что касается первых двух способов, вы можете установить "preview_on_click": false, чтобы автоматически прекратить компромиссное открытие шестнадцатеричного редактора.

Виктор Чой
источник