如何使用 Unity 设置 subl:// 协议处理程序?

mpe*_*pen 8 unity 14.04

发生错误时,我的 Web 应用程序会生成如下所示的可点击 URL:

subl://open?url=file://%2Fusr%2Flocal%2Fwebenginex%2Fclass%2Fmodels%2Fwxclient.php&line=123
Run Code Online (Sandbox Code Playgroud)

当我点击它时,我得到这个提示:

单击“启动应用程序”什么也不做。我希望它按预期打开 Sublime Text。我该如何配置?

And*_*man 8

在 chrome 中注册自定义协议处理程序

1.创建桌面文件

创建文件 /usr/share/applications/sublime-handler.desktop

[Desktop Entry]
Name=Sublime Text 2 URL Handler
GenericName=Text Editor
Comment=Handle URL Scheme subl://
Exec=/usr/share/handlers/sublime-handler %u
Terminal=false
Type=Application
MimeType=x-scheme-handler/subl;
Icon=sublime-text-2
Categories=TextEditor;Development;Utility;
Name[en_US]=Sublime Text 2 URL Handler
Run Code Online (Sandbox Code Playgroud)

2. 更新 MIME-types 数据库

$ sudo update-desktop-database
Run Code Online (Sandbox Code Playgroud)

3. 创建处理程序文件

创建文件 /usr/share/handlers/sublime-handler

#!/usr/bin/env bash

request="${1#*://}"             # Remove schema from url (subl://)
request="${request#*?url=}"     # Remove open?url=
request="${request//%2F//}"     # Replace %2F with /
request="${request/&line=/:}"   # Replace &line= with :
request="${request/&column=/:}" # Replace &column= with :

subl "$request"                 # Launch sublime
Run Code Online (Sandbox Code Playgroud)

使其可执行:

$ sudo chmod +x /usr/share/handlers/sublime-handler
Run Code Online (Sandbox Code Playgroud)

4. 注册 mime 类型的处理程序

$ xdg-mime default /usr/share/applications/sublime-handler.desktop x-scheme-handler/subl
Run Code Online (Sandbox Code Playgroud)

5. 利润

现在,您可以通过自定义应用程序从 chrome 使用自定义协议打开链接,例如:

subl:///home/path/to/file.php:123
subl://open?url=/home/path/to/file.php:123
subl://open?url=/home/path/to/file.php&line=123
subl://open?url=/home/path/to/file.php&column=123
subl://open?url=%2Fhome%2Fpath%2Fto%2Ffile.php&line=123
subl://open?url=%2Fhome%2Fpath%2Fto%2Ffile.php&column=123
Run Code Online (Sandbox Code Playgroud)

6.修改

例如,它可以移植以与不同的 IDE 一起使用 phpstorm