【问题标题】:Sublime text build system, using ~ and /home/username directoriesSublime 文本构建系统,使用 ~ 和 /home/username 目录
【发布时间】:2015-12-28 09:05:38
【问题描述】:

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

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

【问题讨论】:

  • edit 您的问题与您的.sublime-build 文件的内容。

标签: perl sublimetext3 sublime-build


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-12-02
    • 2020-10-07
    • 1970-01-01
    相关资源
    最近更新 更多