正斜杠而不是文件路径中的反斜杠

时间:2019-07-05 12:34:59

标签: json bash command-line visual-studio-code

如何在Visual Studio代码构建任务参数中用反斜杠替换反斜杠。

我尝试在Bash命令中使用反斜杠,但是控制台只是删除了斜杠。

"command": "xxxxxxxx.exe",
"type": "shell",
"args": [
    "--dir=${workspaceFolder}",
]

在控制台中,它似乎是:

> Executing task: xxxxxxxx.exe --dir=C:UsersUserDesktopProject

但是我希望它是:

> Executing task: xxxxxxxx.exe --dir=C:/Users/User/Desktop/Project/

3 个答案:

答案 0 :(得分:2)

对我来说,只需将默认外壳程序切换为cmd即可完成工作。我在git-bash中安装了vscode作为默认外壳。当我尝试调试ts文件时,shell抱怨类似您的情况,路径是没有斜杠或反斜杠的字符串。

这是我的launch.json。

{
    {
      "type": "node",
      "request": "launch",
      "name": "Debug Current",
      "preLaunchTask": "tsc: build - tsconfig.json",
      "skipFiles": ["<node_internals>/**"],
      "program": "${file}",
      "outFiles": ["${workspaceFolder}/dist/*.js"]
    }
  ]
}

答案 1 :(得分:1)

您将反斜杠加倍了吗?它们是一个引号,因此您可能必须使用一个引号。

$: echo "C:\Users\Public" | sed 's,\\,/,g'
C:/Users/Public

使用参数扩展而不会产生sed-

$: x="C:\Users\Public"
$: echo "${x//\\/\/}"
C:/Users/Public

答案 2 :(得分:1)

使用内置${variable//string/substitution}的bash的东西:

"command": "xxxxxxxx.exe",
"type": "shell",
"args": [
    "--dir=${workspaceFolder//\\/\/}",
]