如何 运行 在其他任务中定义两个任务

How to run two defined tasks within other task

我在 tasks.json

中定义了很多任务
{
  "version": "2.0.0",
  "tasks": [
    {   "identifier": "tsc-main", 
        "type": "typescript",
        "tsconfig": "tsconfig.json",
        "problemMatcher": [
            "$tsc"
        ]
    },
    {   "identifier": "tsc-other", 
        "type": "typescript",
        "tsconfig": "./other-path/tsconfig.json",
        "problemMatcher": [
            "$tsc"
        ]
    }
  ]
}

我想要一个 运行 多个任务组合在一起的任务。 运行 一个错误,一个不停止。

类似于:

{   "identifier": "joined task", 
    "type": "task-list",  // <= does not exists
    "tasks": ["tsc-main","tsc-other"] // <== 
}

其他方法是 运行在 shell 中执行所有命令,但我不知道 运行 如何通过命令行执行任务

{   "identifier": "joined task", 
    "type": "shell",
    "command": "task tsc-main ; task tsc-other", // <== I don't know how to write "task"
    "problemMatcher": [
            "$tsc"
    ]
}

我也知道如何在 shell 任务中编写命令列表,但这还有另一个问题:定义写在两个不同的地方(原始任务和加入的任务),这违反了规则 "each definition must be in only one place"。如果团队中的某个人为一项任务添加了一个选项,他必须记住将选项添加到 "joined task".

{   "identifier": "joined task", 
    "type": "shell",
    "command": "tsc ; tsc -p ./other-path/tsconfig.json", 
    "problemMatcher": [
        "$tsc" // <= I am not shure about this
    ]
}

我想你在找 dependsOn:

{
    "label": "joined task",
    "dependsOn": ["tsc-main", "tsc-other"]
}