Visual Studio Code のドキュメントを掘り下げて、複数の連続したタスクをtasks.json
ファイル。
tasks
配列は、同じコマンドに異なる引数を作成することのみを許可します。この例では、コマンドはecho
です。
{
"version": "0.1.0",
"command": "echo",
"isShellCommand": true,
"args": [],
"showOutput": "always",
"echoCommand": true,
"suppressTaskName": true,
"tasks": [
{
"taskName": "hello",
"args": ["Hello World"]
},
{
"taskName": "bye",
"args": ["Good Bye"]
}
]
}
Tasks.jsonでは、複数のタスクを連続して実行できますか?たとえば、tsc
の後にuglify
?
dependsOn
機能は バージョン1.10. で出荷されました。たとえば、TypeScriptで単一ファイルスクリプトをコンパイルおよび実行するためにこれを使用しています。
{
"version": "2.0.0",
"tasks": [
{
"command": "tsc -p ${cwd}/2017-play",
"label": "tsc-compile",
"type": "Shell"
},
{
"command": "node ${cwd}/2017-play/build/${fileBasenameNoExtension}.js",
"label": "node-exec",
"type": "Shell",
"dependsOn": [
"tsc-compile"
],
"problemMatcher": []
}
]
}
Tcsビルドを実行し、シェルスクリプトを使用してソースを別のフォルダーにコピーする作業例を次に示します。これは、StackOverflowに関するさまざまな投稿と、次のドキュメントに基づいています。
https://code.visualstudio.com/updates/v1_10#_more-work-on-terminal-runner
Ben Creasyの投稿に示されているように、2つ目のタスクが最初のタスクに依存する2つのタスクでtasks.jsonを作成することもできます。2つ目のタスクが呼び出されると、2つのタスクが実行されます。どちらか、または両方を実行できる必要がありました。ベンのおかげで、この投稿に行く前に解決策を見つけるのに苦労しました。
ところで、シェルファイルを含める場合、コマンドは、スクリプトが配置されているフォルダではなく、プロジェクトフォルダを参照して実行されます。
{
// See https://go.Microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"type": "TypeScript",
"tsconfig": "tsconfig.json",
"problemMatcher": [
"$tsc"
],
"group": "build",
"identifier": "build"
},
{
"label": "Copy files",
"type": "Shell",
"command": "./scripts/copysrc.sh",
"windows": {
"command": ".\\scripts\\copysrc.cmd"
},
"group": "build",
"presentation": {
"reveal": "always"
},
"problemMatcher": [],
"dependsOn": "build"
},
{
"label": "Build and copy",
"dependsOn": [
"build",
"Copy files"
],
"group": "build",
"problemMatcher": []
}
]
}