我想配置一个标记为“先构建然后运行”的任务,该任务将执行特定的构建任务,然后运行可执行文件。我以为dependsOn
属性就是我想要的,但事实证明,它可以并行运行任务。
这是 tasks.json 的示例:
{
"version": "2.0.0",
"tasks": [
{
"label": "Build",
"type": "shell",
"command": "g++ -g ${workspaceFolder}/main.cpp -o ${workspaceFolder}/main.exe",
"problemMatcher": "$gcc"
},
{
"label": "Run",
"type": "shell",
"command": "${workspaceFolder}/main.exe"
},
{
"label": "Build and then Run",
"type": "shell",
"dependsOn": [ // <------ important
"Run",
"Build"
]
}
]
}
将任务放入dependsOn
数组中的顺序无关紧要。因为“生成”任务创建可执行文件太晚,所以“运行”任务执行出错。
是否有一些属性或技巧可以使两个任务依次运行?
答案 0 :(得分:1)
{
"label": "Build and then Run",
"type": "shell",
"dependsOrder": "sequence", <= `parallel must be the default
"dependsOn": [
"Run",
"Build"
]
}
如果您指定“ dependsOrder”:“ sequence”,那么您的任务依赖项 按照它们在dependsOn中列出的顺序执行。任何 在DependOn中使用“ dependsOrder”使用的后台/监视任务: “序列”必须具有跟踪问题的匹配器 “完成”。
对我来说,再加上您的经验,省略选项dependsOn
意味着默认情况下任务将并行运行,而不是按顺序运行。