visual-studio-code - VS-Code 任务中带有双反斜杠的路径

标签 visual-studio-code vscode-tasks

我想创建一个 VS-Code 任务,该任务执行 R 命令将 Markdown 转换为 PDF。我目前的任务是这样的:

{
    "label": "rmarkdown -> pdf",
    "type": "process",
    "command": "Rscript",
    "args": ["-e", "\"rmarkdown::render('${file}', 'pdf_document')\""],
    "windows": true,
    "presentation": {
        "reveal": "always",
        "panel": "new"
    }
}

问题是,${file}返回这样的路径:

d:\data\documents\myFile.md



但 R 需要一个带有转义反斜杠的路径,如下所示:

d:\\data\\documents\\myFile.md



如何从 ${file} 获得转义路径?

使用普通斜杠的替代路径也可以完成这项工作,因为 R 会自动替换 /\\ .

最佳答案

VSCode 旨在返回带有特定于平台的分隔符的路径。

作为一种典型的解决方法,您可以创建一个中间脚本,该脚本将调节从任务传递给它的参数,然后调用您的工具。

vscode问题跟踪器中的相关讨论:#70050 .

关于visual-studio-code - VS-Code 任务中带有双反斜杠的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59286064/

相关文章:

c++ - 我无法使用 Visual Studio 代码构建 C++

c++ - g++ 自定义任务在外部终端而不是 vs 代码内部终端中打开

c++ - 是否可以根据特定的文件扩展名构建任务?

python - Visual Studio Code - 如何向 python 路径添加多个路径?

python - 如何使用 Visual Studio Code 修复 python 中的 ModuleNotFoundError

visual-studio-code - Google Cloud shell .customize_environment 不起作用

visual-studio-code - 如何设置 Visual Studio Code 来编译 C++ 代码?

visual-studio-code - 如何在 VS Code 中注释掉代码而不缩进?

linux - .NET 5 webapi 示例返回 404,在 Linux 中运行

typescript - 如何在其他任务中运行两个定义的任务