Sublime Text经过快捷键在浏览器中预览文件

首先说下,个人是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_browsersublime-text

三、设置快捷键,点菜单Preferences -> key Bindings - User(我的快捷键配置),输入下列内容:浏览器

[{ "keys": ["ctrl+f5"], "command": "open_browser" }]

keys里面的内容能够自定义,不和既有的快捷键冲突就好,command填的就是上一步保存的文件名。编辑器

这样就能够在经过快捷键ctrl+f5默认浏览器里打开当前文件了。url

那么如何在默认浏览器里打开当前文件呢?插件

webbrowser.get("C:/Users/xxxx/AppData/Local/Google/Chrome/Application/chrome.exe %s).open(url, 2)

但这样有个问题,打开浏览器未关闭前,编辑器被冻结不可用。我尝试subprocess.call方法,结果同样。code

因此,目前最简单的方法就是更换默认浏览器了。。。若是你有更好的解决办法,请告知。

[:smile:]

相关文章
相关标签/搜索