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

五迷三道 提交于 2020-02-28 11:54:08

首先说下,我的是Sublime Text 3,win10。

ST有个插件View In Browser可以在浏览器里打开文件,但经过试用,报Encoding错误,其Github的issues里也有人提出了此bug,但未解决。然后我就找到了这么个办法

1、点击菜单Tools -> New Plugin…,在创建好的py模板文件输入下列内容:

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。

2、接下来保存,就是默认弹出来的 Packages/User目录,文件名自定义,比如open_browser

3、设置快捷键,点菜单Preferences -> key Bindings - User(个人快捷键配置),输入下列内容:

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

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

这样就可以在通过快捷键ctrl+f5默认浏览器里打开当前文件了。

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

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

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

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

[:smile:]

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!