Sublime text 构建系统,使用 ~ 和 /home/username 目录

Sublime text build system, using ~ and /home/username directories

我有自己的 perl 测试文件构建系统,除了捕获输入外,它工作得很好。如果我有一个名为 ~/projects/something.pm 的打开文件,构建系统的错误输出将类似于 Failed test at /home/username/projects/something.pm line 66.

捕获的正则表达式工作正常,问题是sublime认为这两个文件在不同的路径,所以它打开了一个新的选项卡,我只想把打开的文件放在前面。

有什么设置可以做到这一点"match"吗?

编辑:每次我 运行 构建时都会生成我的 .sublime-build 文件,以支持我可能想要 运行 单个测试而不是所有文件的事实。 我有自己的插件来检测我正在使用光标位置的测试并将其附加到命令行。但这没有什么区别,因为行为总是相同的,即使是 "standard" 构建。 .sublime-build 文件的内容是这样的:

{ "shell_cmd" : "prove $file_path/$file_name" , "working_dir" : "/home/username/projects/", "file_regex": " at (.*.pm) line ([0-9]*)", }

我尝试用 ~ 字符替换 /home/username,但出于某种原因,这会破坏构建系统,并且在构建时我只得到一个黑色的输出面板,状态栏显示"Building...".

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

本例中的问题是我没有注意到项目的主目录(预先生成)实际上是 link 到另一个用户的目录。

这意味着如果您向项目添加文件夹并且该文件夹是 link,在输出中您将获得 "real" 目录,而不是 link。

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