Vscode版本:1.19.3
我想知道是否有办法让一个任务调用另一个任务,就像“preLaunchTask”但适用于普通任务。
原因是当我想调试我的代码时,我需要重新编译我的可执行文件到最新版本,所以我使用“preLaunchTask”调用CMakeTask,然后再调用make来制作我的可执行文件。
Vscode版本:1.19.3
我想知道是否有办法让一个任务调用另一个任务,就像“preLaunchTask”但适用于普通任务。
原因是当我想调试我的代码时,我需要重新编译我的可执行文件到最新版本,所以我使用“preLaunchTask”调用CMakeTask,然后再调用make来制作我的可执行文件。
您可以让它依赖于另一个任务。 示例:
{
"label": "secondTask",
"type": "shell",
"command": "<Your second task's command here>",
"dependsOn": [
"firstTask"
]
},
{
"label": "firstTask",
"type": "shell",
"command": "<Your first task's command here>"
}
可以链接任务。在部署任务中使用"dependsOn": ['Build']。 来源
"dependsOrder": "sequence"
,这可能是所需的。 - Andrew总体而言
是的,您可以自动调用其他语言的自定义脚本,但目前还不支持C语言。从任务文档中可以看到:
VS Code当前可自动检测以下系统的任务:Gulp、Grunt、Jake和npm。我们正在与相应的扩展作者合作,以添加对Maven和C# dotnet命令的支持。如果您使用Node.js作为运行时来开发JavaScript应用程序,则通常会有一个package.json文件描述您的依赖项和要运行的脚本。
对于C(或其他自定义)
您需要定义一个自定义任务,就像在构建任务组中一样,以便在那里运行它。
并非所有任务或脚本都可以在工作区中自动检测到。有时需要定义自己的自定义任务。假设您有一个脚本来运行测试,因为需要正确设置一些环境。该脚本存储在工作区内的脚本文件夹中,并命名为test.sh(适用于Linux和macOS)和test.cmd(适用于Windows)。从全局任务菜单中运行“配置任务”。这将打开以下选择器。
只要您的系统识别要使用的二进制文件,并且可以是调用构建步骤的PowerShell、Bash、Batch等脚本,您就可以创建完全任意的命令。这可以是列出其他命令的命令,也可以将多个任意任务添加到此构建组中。
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"label": "Run tests",
"type": "shell",
"command": "./scripts/test.sh",
"windows": {
"command": ".\\scripts\\test.cmd"
},
"group": {
"kind": "build",
"isDefault": true
},
"presentation": {
"reveal": "always",
"panel": "new"
}
}
]
}
dependsOn
能够指定一系列的任务,这是很酷的一件事情。更酷的是,你也可以使用dependsOrder
来定义任务是按照顺序还是并行执行。对于C/C++程序员来说非常好用,因为你可以定义一个“build”任务、一个“clean”任务,然后你可以创建一个“rebuild”任务,并告诉它依赖于“clean”和“build”任务。 - user1593842在工作区文件夹中无法解析依赖任务 '任务名称'
。 - jaques-sam