首页 > 解决方案 > VS-Code 任务中带有双反斜杠的路径

问题描述

我想创建一个 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 将自动替换/\\.

标签: visual-studio-codevscode-tasks

解决方案


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

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

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


推荐阅读