我需要建立远程构建系统的帮助。

我下面的构建系统在远程服务器上调用python,但问题是文件路径。

我将远程服务器映射到W:驱动器,因此当我调用构建系统时,它将执行。

python W:\path\to\script.py


它需要执行

python /home/me/path/to/script.py instead.


我想做的是将“ /”替换为“ \”,将“ / home / me /”替换为“ W:”

{
"shell_cmd": "python -u \"$file\"",
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python",
"variants":
[
    {
        "name": "Remote Python",
        "shell_cmd": "C:/Users/me/Documents/Common/Putty/plink -v -l myName -pw myPass 192.168.0.10 python \"${file}\"",
    }
]


}

我尝试了Build System Variables的组合,但是没有运气。

我也对“ / home / me”部分进行了硬编码,但是我仍然需要访问其他文件夹,即“ path / to /”。

我相信答案将涉及“ sed”的使用,但我无法使其正常工作...

最佳答案

您可以在构建系统变量中使用基于PCRE regexsubstitutionsformat strings。所以,代替

\"${file}\"


plink命令中,使用以下命令:

\"${file/w:/\/home\/me/i}\"


Sublime会自动将路径分隔符从\更改为/,因此我们不必为此担心。我们要做的就是找到w:并将其替换为/home/me/字符被转义,因为/也用于分隔正则表达式的不同部分)。最后的i是不区分大小写的标志,因此它将与w:W:一起使用。

我目前无法使用Windows盒子进行测试,但是应该可以正常工作。

关于python - 设置远程Sublime Text构建系统,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33620504/

10-11 08:45