我正在使用Code Runner [VSCode] [2] (Visual Studio代码),我试图更改{{1}的运行命令}}
我在settings.json文件中有以下设置:
C++
然后当我按// Set the executor of each language.
"code-runner.executorMap": {
// ...
"cpp": "cd $dir && g++ $fileName -o $fileNameWithoutExt && $dir$fileNameWithoutExt"
// ...
}
并按CTRL SHIFT P
上的Enter键运行我当前的C ++文件时,它会生成以下命令:
Run Code
但是命令的输出是:
cd "c:\C++\" && g++ main.cpp -o main && "c:\C++\"main
这是因为您可以在正在运行的命令中看到它尝试将CD转到bash: cd: c:\C++" && g++ main.cpp -o main && c:C++"main: No such file or directory
,但"c:\C++\"
字符未被转义,导致命令失败。
如果该命令将所有\
个字符转义为\
,则它将正确运行。
我正在为我的集成终端使用git bash控制台。
如何解决此问题并逃避从"c:\\C++\\"
文件中的$dir
变量中删除的路径?
答案 0 :(得分:1)
尝试$ dirWithoutTrailingSlash变量而不是$ dir。
如果这不起作用,您可以尝试在位于codeManager.js
的{{1}}中创建自己的变量。
将条目添加到位于第246行附近的%VSCODE_INSTALL%\Data\code\extensions\formulahendry.coderunner-%VERSION%\out\src\
数组中。例如:
placeholders
我曾经取代
{ regex: /\$dirWithoutQuotesNorTrailingSlash/g, replaceValue: this.getCodeFileDirWithoutTrailingSlash() }
因为我无法在类路径中使用带有显式引号的变量。 你也可以用正上方的正则表达式定义你自己的函数返回值(比如getCodeFileDirWithoutTrailingSlash)(约为第222行)。