Sublime Text 插件找不到我的默认浏览器
Sublime Text plugin can’t find my default browser
TL;DR:Sublime Text 从 webbrowser._browsers
得到的响应与我的终端不同。
这让我抓狂。我使用了一个插件 GitLink,它将从您当前的文件中打开一个 GitHub link。它依赖于 Python 的 webbrowser
工具来打开 url。问题是我的默认浏览器是 Chrome,但它一直打开 Firefox。
在我的终端中,如果我在 python
或 python3
中启动,webbrowser.open_new_tab('https://whosebug.com')
将在 Chrome 中正确启动。 webbrowser._browsers
将正确地将 'chrome'
列为我的浏览器之一。
但是,在 Sublime Text 控制台中,缺少 webbrowser._browsers
Chrome。它列出了除我真正想要的浏览器之外的所有其他浏览器。是什么赋予了? Sublime Text 如何获得与我在终端中 运行 python 时不同的列表?我如何让它匹配?
您可以尝试多种方法。
1.设置 BROWSER 环境变量:
正如 Keith Hall 暗示的那样,这个问题可以通过设置 BROWSER
环境变量来解决。如果您不知道如何查找您的版本 - OSX 更改了环境变量在某些时候的设置方式,因此对于不同版本的 OSX 有不同的方法来执行此操作。但是,我在 Linux 上,我的 BROWSER
环境变量未设置 且 ST 始终在我的默认浏览器中打开 url,这包括对 [=17 的调用=] GitLink
用来打开 url 的(我假设你已经看到了),所以这可能无法解决问题。
2。修改GitLink(你安装的版本):
首先测试这是否可行 - 在 Linux.
上工作正常
将以下两行复制并粘贴到 ST 控制台中:
import webbrowser
webbrowser.get("chrome").open_new_tab("http://www.google.com")
如果用 Google.com 打不开 Chrome 试试:
# google-chrome: Chrome variant.
webbrowser.get("google-chrome").open_new_tab("http://www.google.com")
# macosx: uses the OSX default browser.
webbrowser.get("macosx").open_new_tab("http://www.google.com")
# links: generic; doubtful but worth trying at this stage.
webbrowser.get("links").open_new_tab("http://www.google.com")
完整的 list of possible values 可能会有帮助。
另一种可能是使用完整路径,请参阅此 Whosebug answer 或尝试:
# Replace path with your path to Chrome if necessary.
webbrowser.register('chrome_path', None, webbrowser.BackgroundBrowser("/Applications/Google Chrome.app"))
webbrowser.get('chrome_path').open_new_tab(url)
一旦生效:
- 安装PackageResourceViewer插件;安装后...
- 打开命令面板并select:
PackageResourceViewer: Open Resource
- 在软件包列表 select 中:
GitLink
- 在文件列表中select:
GitLink.py
- 文件
GitLink.py
将打开...
如果您保存此文件(如果您不保存就关闭它,则什么也不会发生)然后 GitLink.py
的副本将保存在您系统中的以下位置:ST_CONFIG/Packages/GitLink/GitLink.py
- 此版本该文件的版本将覆盖 GitLink.py
的版本,该版本存储在 Gitlink.sublime-package
文件中,Package Control 将安装在 Installed Packages
文件夹中。即使 GitLink
包得到更新,.sublime-package
文件中的版本仍然会被覆盖。没问题,您需要做的就是删除包含 GitLink.py
文件的文件夹 ST_CONFIG/Packages/GitLink/
,ST 将开始使用 .sublime-package
文件中的版本再次.
修改容易:
向下滚动到 GitLink.py
的底部,您将在其中看到以下几行:
if(args['web']):
webbrowser.open_new_tab(url)
只需将 webbrowser.open_new_tab(url)
行更改为以下内容(如有必要,将 "chrome"
替换为在控制台中有效的值):
if(args['web']):
webbrowser.get("chrome").open_new_tab(url)
保存文件,插件应立即由 ST 更新(检查控制台是否有 "reloading plugin" 消息以确保是否需要)。该插件现在应该在 Chrome.
中打开您的网址
3。在 GitLink 的 GitHub 页面上打开一个问题:
问题页面是here。陈述您的问题并请求添加设置,以便用户可以指定应使用哪个浏览器 Python 的 webbrowser
模块。
我建议您无论如何都这样做,并将 link 添加到此 Whosebug 页面以供参考。
TL;DR:Sublime Text 从 webbrowser._browsers
得到的响应与我的终端不同。
这让我抓狂。我使用了一个插件 GitLink,它将从您当前的文件中打开一个 GitHub link。它依赖于 Python 的 webbrowser
工具来打开 url。问题是我的默认浏览器是 Chrome,但它一直打开 Firefox。
在我的终端中,如果我在 python
或 python3
中启动,webbrowser.open_new_tab('https://whosebug.com')
将在 Chrome 中正确启动。 webbrowser._browsers
将正确地将 'chrome'
列为我的浏览器之一。
但是,在 Sublime Text 控制台中,缺少 webbrowser._browsers
Chrome。它列出了除我真正想要的浏览器之外的所有其他浏览器。是什么赋予了? Sublime Text 如何获得与我在终端中 运行 python 时不同的列表?我如何让它匹配?
您可以尝试多种方法。
1.设置 BROWSER 环境变量:
正如 Keith Hall 暗示的那样,这个问题可以通过设置 BROWSER
环境变量来解决。如果您不知道如何查找您的版本 - OSX 更改了环境变量在某些时候的设置方式,因此对于不同版本的 OSX 有不同的方法来执行此操作。但是,我在 Linux 上,我的 BROWSER
环境变量未设置 且 ST 始终在我的默认浏览器中打开 url,这包括对 [=17 的调用=] GitLink
用来打开 url 的(我假设你已经看到了),所以这可能无法解决问题。
2。修改GitLink(你安装的版本):
首先测试这是否可行 - 在 Linux.
上工作正常将以下两行复制并粘贴到 ST 控制台中:
import webbrowser
webbrowser.get("chrome").open_new_tab("http://www.google.com")
如果用 Google.com 打不开 Chrome 试试:
# google-chrome: Chrome variant.
webbrowser.get("google-chrome").open_new_tab("http://www.google.com")
# macosx: uses the OSX default browser.
webbrowser.get("macosx").open_new_tab("http://www.google.com")
# links: generic; doubtful but worth trying at this stage.
webbrowser.get("links").open_new_tab("http://www.google.com")
完整的 list of possible values 可能会有帮助。
另一种可能是使用完整路径,请参阅此 Whosebug answer 或尝试:
# Replace path with your path to Chrome if necessary.
webbrowser.register('chrome_path', None, webbrowser.BackgroundBrowser("/Applications/Google Chrome.app"))
webbrowser.get('chrome_path').open_new_tab(url)
一旦生效:
- 安装PackageResourceViewer插件;安装后...
- 打开命令面板并select:
PackageResourceViewer: Open Resource
- 在软件包列表 select 中:
GitLink
- 在文件列表中select:
GitLink.py
- 文件
GitLink.py
将打开...
如果您保存此文件(如果您不保存就关闭它,则什么也不会发生)然后 GitLink.py
的副本将保存在您系统中的以下位置:ST_CONFIG/Packages/GitLink/GitLink.py
- 此版本该文件的版本将覆盖 GitLink.py
的版本,该版本存储在 Gitlink.sublime-package
文件中,Package Control 将安装在 Installed Packages
文件夹中。即使 GitLink
包得到更新,.sublime-package
文件中的版本仍然会被覆盖。没问题,您需要做的就是删除包含 GitLink.py
文件的文件夹 ST_CONFIG/Packages/GitLink/
,ST 将开始使用 .sublime-package
文件中的版本再次.
修改容易:
向下滚动到 GitLink.py
的底部,您将在其中看到以下几行:
if(args['web']):
webbrowser.open_new_tab(url)
只需将 webbrowser.open_new_tab(url)
行更改为以下内容(如有必要,将 "chrome"
替换为在控制台中有效的值):
if(args['web']):
webbrowser.get("chrome").open_new_tab(url)
保存文件,插件应立即由 ST 更新(检查控制台是否有 "reloading plugin" 消息以确保是否需要)。该插件现在应该在 Chrome.
中打开您的网址3。在 GitLink 的 GitHub 页面上打开一个问题:
问题页面是here。陈述您的问题并请求添加设置,以便用户可以指定应使用哪个浏览器 Python 的 webbrowser
模块。
我建议您无论如何都这样做,并将 link 添加到此 Whosebug 页面以供参考。