1

我有自己的 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~但由于某种原因,这会破坏构建系统,并且在构建时我只是得到一个黑色的输出面板,状态栏显示“正在构建...”。

无论如何,我发现了解决方法的真正问题,并将其发布为答案。

4

1 回答 1

0

这种情况下的问题是我没有注意到项目的主目录(预先生成)实际上是指向另一个用户目录的链接。

这意味着如果您向项目添加一个文件夹并且该文件夹是一个链接,那么在输出中您将获得“真实”目录,而不是链接。

通过从项目中删除符号链接文件夹并将链接的目标作为文件夹添加到项目中来解决,现在它可以正常工作了。

于 2015-12-30T08:15:29.673 回答