当我尝试运行在Windows命令外壳程序中运行的make任务时遇到问题。我尝试了各种组合,但无法完全执行命令。
在下面的tasks.json中,您可以看到我已经尝试了各种方法(此格式为我提供了最多的信息),但是在所有尝试中,make file命令均失败“无法将'make'识别为内部或外部命令”程序或批处理文件。”但它的脚本setCmdEnv在第一个命令中,该命令设置了make路径等。 前两个命令运行良好,我看不到为什么最后一个命令无法正确执行。 奇怪的是,我可以在外壳加载后(出现错误之后)键入make,并且一切正常。
{
"version": "2.0.0",
"type":"shell",
"windows": {
"options": {
"shell": {
// "executable": "C:\\WINDOWS\\System32\\cmd.exe",
"executable": "",
// "args": [
// "/K .\\BuildEnv\\xBuildEnv\\setCmdEnv && cd .\\app && "
// ]
}
}
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"clear": false
},
"tasks": [
{
"label": "Make %1.test",
"command": "cmd.exe",
"args": [
" /K .\\BuildEnv\\xBuildEnv\\setCmdEnv && cd .\\app && make ${fileBasenameNoExtension}.test"
],
"problemMatcher": []
}
],
}
答案 0 :(得分:2)
我遇到了类似的问题,并且要使Visual Studio Code任务执行多个命令,我必须分离args
数组的每个元素以保留任何空白。因此,在这种情况下,任务可能是这样的:
{
"version": "2.0.0",
"tasks": [
{
"label": "Make your test file",
"type": "shell",
"windows": {
"command": "%comspec%",
"args": ["/C", "C:\\Program Files (x86)\\Microsoft Visual Studio 14.0\\Common7\\Tools\\VsDevCmd.bat",
"&&", "cd", ".\\apps", "&&", "make", "${fileBasenameNoExtension}.test"
]
},
"options": {
"cwd": "${workspaceRoot}"
},
"presentation": {
"showReuseMessage": false,
"reveal": "always",
"panel": "shared",
"group": "test",
"clear": true,
"focus": true
}
}
]
}
注意:%comspec%
变量解析为C:\WINDOWS\system32\cmd.exe
。