Sublime文本构建系统,使用〜和/ home / username目录

时间:2015-12-28 09:05:39

标签: perl sublimetext3 sublime-build

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

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

1 个答案:

答案 0 :(得分:0)

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

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

解决方法是从项目中删除符号链接文件夹,并将链接的目标作为文件夹添加到项目中,现在工作正常。