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

Path with double backslash in VS-Code Task

我想创建一个 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} returns 这样的路径:

d:\data\documents\myFile.md

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

d:\data\documents\myFile.md

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

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

VSCode 旨在 return 具有特定于平台的分隔符的路径。

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

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