1

我正在尝试这样做,以便我可以单击 xdebug 输出的链接并打开有问题的文件,例如 textmate 中的问题,我试图在 windows xp 上使用 ST2 执行此操作。

我尝试使用SublimeProtocol插件来完成此任务,但它期望打开文件的链接格式如下:

sblm:///C/Users/name/AppData/Roaming/Sublime%20Text%202/Packages/

xdebug.file_link_format 是: xdebug.file_link_format="sblm://%f?%l"

它输出这种类型的链接:sblm://C:\wamp\www\busadv\parse3.php?10

所以ST2的控制台提示无法打开文件。

然后我尝试基于 SO 问题创建自定义协议创建自定义协议 ,因为这似乎符合我想要完成的目标。我使用以下内容创建了一个 reg 文件:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\sblm]
@="\"URL:sblm Protocol\""
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""

[HKEY_CLASSES_ROOT\sblm\DefaultIcon]
@="\"C:\\Program Files\\Sublime Text 2\\sublime_text.exe\",0"

[HKEY_CLASSES_ROOT\sblm\shell]

[HKEY_CLASSES_ROOT\sblm\shell\open]

[HKEY_CLASSES_ROOT\sblm\shell\open\command]
@="\"C:\\Program Files\\Sublime Text 2\\sublime_text.exe\" -c \"%1\""

问题是,当我单击 xdebug 的链接输出时,一个文件在ST2中打开的文件只有一个源自浏览器目录的文件,而不是 xdebug 所在的位置。我尝试将 %1 替换为 %2 ,以便文件将 C:\ 之前的部分切掉,但使用该替换时文件永远不会打开。那么为了使它工作还需要什么其他参数呢?

更新:

添加了包含以下内容的批处理文件:

@echo off 
setlocal enableextensions enabledelayedexpansion 
set SUBLIME=%1
set FILE=%~2
%SUBLIME% --open "%FILE:~19%"

并将注册表更改为包含Windows 和 netbeans建议的 .bat 为:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\sblm]
@="URL:sblm Protocol Handler"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\Sublime Text\DefaultIcon]
@="\"C:\\Program Files\\Sublime Text 2\\sublime_text.exe,1\""

[HKEY_CLASSES_ROOT\sblm\shell]

[HKEY_CLASSES_ROOT\sblm\shell\open]

[HKEY_CLASSES_ROOT\sblm\shell\open\command]
@="\"C:\\Windows\\sublime.bat\" \"C:\\Program Files\\Sublime Text 2\\sublime_text.exe\" \%1\"" 

还将 xdebug.file_link_format 更改为 xdebug.file_link_format="sblm://open/?f=%f:%l"

现在 ST2 仍然打开一个文件,但它来自浏览器目录,其中几乎包含链接但不包括 C:\w。

例如 xdebug 链接 sblm://open/?f=C:\wamp\www\busadv\parse3.php:10

在 ST2 中打开的文件是 C:\Program Files\SRWare Iron\amp\www\busadv\parse3.php

4

0 回答 0