如何使网页上的超链接打开文本编辑器(Sublime Text)中的文件

3

我正在开发一个大型静态网站(Jekyll),希望能够在浏览器(Chrome)上点击页面上的链接,以便打开对应的本地源文件(Sublime)。我可以获取文件的绝对链接。

从控制台(Ubuntu)上,我可以执行以下操作:

subl path/to/file.txt

打开一个文件,也许需要一个允许在受信任域上执行命令的扩展名?

3个回答

2
Ubuntu
这里有一个Ubuntu的解决方案 Windows方法
首先,您需要在Windows注册表中安装协议处理程序。(参考:Chrome中的自定义协议处理程序)
这将使Chrome在单击subl:path/to/file链接时运行一个命令。但是,您不能简单地运行sublime_text.exe subl:path/to/file,因为Sublime不理解subl:path/to/file参数。您必须先使用脚本提取文件名,然后使用单个文件参数调用Sublime。
解决方案1 这是一个适用于Windows的解决方案,可打开具有以下格式的链接
subl://open?url=file://<path_to_file>&line=4

它首先将脚本注册为协议处理程序,然后调用Sublime。 解决方案2 我编辑了解决方案1以打开格式化链接。
subl://path/to/file:line

只需执行方案1,但需要将 open_file.vbs 更改为:
' path to sublime_text.exe
Dim sublime_path
' CHANGE THIS:
sublime_path = "C:\Programme\Sublime Text 3\sublime_text.exe" 

Dim text, filename
' get first command line argument
text = WScript.Arguments.Item(0)

filename  = Split(text, ":/")(1)

Dim run_command
run_command = """"&sublime_path&""" """&filename&""""

Dim objShell
Set objShell = WScript.CreateObject( "WScript.Shell" )
objShell.Run(run_command)
Set objShell = Nothing

你需要将路径更改为你的sublime_text.exe。

Mac https://github.com/corysimmons/subl-handler


对于MacOS:我发现这个repo inopinatus/sublime_url 最近的维护比corysimmons/subl-handler更好。 - John Kacz

0

很遗憾,一个旧的插件,架构不再受支持:截图 - wjdp

-1

虽然这是一个老问题,但你可以尝试这个:subl://path/to/file.txt


你之所以建议这样做是因为你有理由相信它确实有效吗?我从未听说过使用subl://代替http://,并且当我尝试时它没有起作用。如果建议“你可以尝试这个”,那么最好提供一个资源链接,解释为什么你的建议应该奏效(假设您自己没有解释)。 - uglycoyote
我在 xdebug 文档中找到了这个:https://xdebug.org/docs/all_settings xdebug.file_link_format。也许你不需要那么快就点踩。我的错误是没有提供更多信息... - Szekelygobe
我并不是很快就点了踩,实际上我先测试了你的建议,发现它并没有起作用。但是你的回复让我更加困惑了,因为它链接到了一个“PHP的XDEBUG扩展”的文档,这与超链接模式、浏览器行为或Sublime Text的相关性仍然不清楚。你的解决方案是否适用于你自己(你能在你的机器上跟随subl://超链接并直接在Sublime Text中打开吗?)还是你只是盲目地在文档中找到并建议的呢,这也仍然不清楚。 - uglycoyote

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接