Visual Studio Code: Task 機能に複数の任意のコマンドを簡単に仕込む方法 - Qiita という投稿がありましたが、最近のversionでは"dependsOn"
プロパティを使って各タスクの依存関係を記述できます。
tasks.json
{
"version": "2.0.0",
"tasks": [
{
"label": "cmake",
"type": "shell",
"command": "cmake",
"args": [
"."
]
},
{
"label": "make",
"type": "shell",
"command": "make",
"dependsOn": [
"cmake"
]
},
{
"label": "test",
"type": "shell",
"command": "make",
"group": {
"kind": "build",
"isDefault": true
},
"dependsOn": [
"make"
],
"args": [
"test"
]
},
]
}
このほうがよりクリアかつ保守性もよいかと思います。