我有自己的 perl 测试文件构建系统,除了捕获输入外,它工作得很好。如果我有一个名为的打开文件,例如,~/projects/something.pm
错误时构建系统的输出将类似于Failed test at /home/username/projects/something.pm line 66
.
用于捕获的正则表达式工作正常,问题是 sublime 认为这两个文件位于不同的路径中,所以它会打开一个新选项卡,我只想将打开的文件放在前面。
是否有任何设置可以使这种“匹配”?
编辑:每次运行构建时都会生成我的 .sublime-build 文件,以支持我可能想要运行单个测试而不是所有文件的事实。我有自己的插件,可以检测我正在使用光标位置的测试并将其附加到命令行。但这并没有什么区别,因为行为总是相同的,即使是“标准”构建。.sublime-build 文件的内容是这样的:
{
"shell_cmd" : "prove $file_path/$file_name" ,
"working_dir" : "/home/username/projects/",
"file_regex": " at (.*.pm) line ([0-9]*)",
}
我尝试用角色替换/home/username
,~
但由于某种原因,这会破坏构建系统,并且在构建时我只是得到一个黑色的输出面板,状态栏显示“正在构建...”。
无论如何,我发现了解决方法的真正问题,并将其发布为答案。