热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

2019独角兽企业重金招聘Python工程师标准首先说下,我的是SublimeText3,win10。ST有个插件ViewInBrowser可以在

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

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

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

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

import sublime, sublime_plugin
import webbrowserclass 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默认浏览器里打开当前文件了。

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

  • python官方提到了一个BROWSER的环境变量,实际我怎么设置也没有用,通过os.environ["BROWSER"]方法也无效。。。
  • 通过webbrowser.get方法直接调用命令打开指定浏览器:

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

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

  • 修复View In Browser的bug,重新打包使用。

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

[:smile:]


转:https://my.oschina.net/u/2324376/blog/726097



推荐阅读
author-avatar
死性不改2502857027
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有