我有一个用C编写的项目,其中有两个make文件,一个在主目录中,一个在子目录中。我想使用VS Code任务来自动化制作过程,因此我不必每次都要运行终端就可以制作项目。相反,我只想使用ctrl+shift+b
,然后使用从终端运行我的代码mpiexec
。
我已经在项目主文件夹内的.vscode目录中创建了task.json文件。Tasks.json当前包含以下基于本教程的代码。
{
"version": "2.0.0",
"command": "bash",
"tasks": [
{
"label": "Make Project",
"type": "shell",
"command": "cd ${workspaceFolder}",
"args": ["make"],
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"echo": true,
"reveal": "always",
"focus": false,
"panel": "shared",
"showReuseMessage": true,
"clear": false
},
"problemMatcher": "$msCompile"
}
]
}
我希望它的行为与make
在当前工作目录中键入终端时的行为相同。相反,这是终端的输出
Executing task: 'cd /home/git/project' make <
/bin/bash: cd /home/git/project: no such file or directory
The terminal process terminated with exit code: 127
Terminal will be reused by tasks, press any key to close it.
请注意,make文件位于/ home / git / project。我当时希望也可以在/ home / git / project / subfolder中建立一个make文件。
为什么初始命令不起作用cd /home/git/project
,然后又make
起作用?我需要与跑步者一起将其分解为几个不同的任务吗?我是使用VS Code的新手,因此非常感谢您的帮助。谢谢。
为什么最初的命令cd / home / git / project没有,然后开始工作?
输出
Executing task: 'cd /home/git/project' make
显示整个表达式cd /home/git/project
被解释为单个命令名称(包括空格,这是文件名中的有效字符),并带有make
其参数。当您查看json配置的结构时,这很有意义。由于不存在这样的命令,因此它将失败。
可能有几种方法可以得到这个工作,选择--directory
到make
可能是一个不错的办法。请参阅9.7选项摘要。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句