首先說下,個人是Sublime Text 3,win10。html
ST有個插件View In Browser能夠在瀏覽器裏打開文件,但通過試用,報Encoding錯誤,其Github的issues裏也有人提出了此bug,但未解決。而後我就找到了這麼個辦法。python
一、點擊菜單Tools -> New Plugin…,在建立好的py模板文件輸入下列內容:web
import sublime, sublime_plugin import webbrowser class OpenBrowser(sublime_plugin.TextCommand): def run(self, edit): url = self.view.file_name() webbrowser.open(url, 2)
這裏講解下webbrowser.open(url, new=0, autoraise=True)
的用法。 第一個參數就是文件路徑; 第二個參數爲0表示在同一個瀏覽器窗口打開,爲1表示在新的瀏覽器窗口打開,爲2表示在新的標籤頁打開; 第三個參數爲true表示會自動打開瀏覽器,實測True和False無差異。 瀏覽器是在後臺打開的,不會覆蓋ST。chrome
二、接下來保存,就是默認彈出來的 Packages/User目錄,文件名自定義,好比open_browser
sublime-text
三、設置快捷鍵,點菜單Preferences -> key Bindings - User(我的快捷鍵配置),輸入下列內容:瀏覽器
[{ "keys": ["ctrl+f5"], "command": "open_browser" }]
keys裏面的內容能夠自定義,不和既有的快捷鍵衝突就好,command填的就是上一步保存的文件名。編輯器
這樣就能夠在經過快捷鍵ctrl+f5
在默認瀏覽器裏打開當前文件了。url
那麼如何在非默認瀏覽器裏打開當前文件呢?插件
BROWSER
的環境變量,實際我怎麼設置也沒有用,經過os.environ["BROWSER"]方法也無效。。。webbrowser.get("C:/Users/xxxx/AppData/Local/Google/Chrome/Application/chrome.exe %s).open(url, 2)
但這樣有個問題,打開瀏覽器未關閉前,編輯器被凍結不可用。我嘗試subprocess.call方法,結果同樣。code
因此,目前最簡單的方法就是更換默認瀏覽器了。。。若是你有更好的解決辦法,請告知。
[:smile:]