在Windows上为xdebug.file_link_format和Sublime Text 2创建自定义协议

时间:2012-10-26 19:16:45

标签: windows protocols xdebug sublimetext2

我正在努力使它能够点击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的控制台表明它无法打开文件。

然后我尝试根据问题Creating Custom Protocol创建自定义协议 因为这似乎与我想要完成的事情一致。我用以下内容创建了一个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的链接输出时,文件 DOES 在ST2中打开只有一个源自浏览器目录的文件,而不是xdebug所说的文件。我尝试用%2替换%1,因此文件会在C:\之前切掉部分,但是当使用替换时文件永远不会打开。那么为了实现这一目标需要的其他参数是什么?

更新

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

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

并更改了注册表以包含。windows and 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://开/ F = C:\瓦帕\ WWW \ busadv \ parse3.php:10

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

0 个答案:

没有答案