设置Sublime Text远程构建系统



我需要帮助设置远程构建系统。

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

我将远程服务器映射到我的W:drive,所以当我调用构建系统时,它会执行。

python W:pathtoscript.py

它需要执行

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

我想做的是用"\"代替"/",用"W:"代替"/home/me/"

{
"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}"",
    }
]

}

我尝试过构建系统变量的组合,但没有成功。

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

我相信答案将涉及使用"sed",但我无法使其发挥作用。。。

基于@MattDMo的回答,我使用了两个捕获组来实现这一点:一个用项目路径(/home/me)替换驱动器号(W:),另一个用正斜杠替换反斜杠。我注意到构建窗口没有正确显示分隔符,但控制台显示了。

"${file/(W:)|(\\)/(?1\/home\/me)(?2\/)/g}"

您可以在构建系统变量中使用基于PCRE正则表达式的替换和格式化字符串。所以,不是

"${file}"

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

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

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

我现在没有权限访问Windows盒子来测试这个,但它应该可以正常工作。

相关内容

  • 没有找到相关文章

最新更新