如何仅使用 tasks.json 在 Visual Studio 代码中链接任务?
How to chain tasks in Visual Studio Code using only tasks.json?
我一直在仔细阅读 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
功能已在 version 1.10.0 中发布。例如,我正在使用它在 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": []
}
]
}
这是一个工作示例,运行s tcs 构建并使用 shell 脚本将源复制到另一个文件夹。
这是基于 Whosebug 上的各种 post 和此处的文档:
https://code.visualstudio.com/updates/v1_10#_more-work-on-terminal-runner
一个人也可以用两个任务创建一个 tasks.json,第二个任务依赖于第一个任务,如 Ben Creasy post 所示,这两个任务将在第二个任务执行时执行叫。我需要能够执行一个、另一个或两者。非常感谢 Ben,我在点击这个 post.
之前很难找到解决方案
顺便说一句,当包含 shell 文件时,命令是 运行 参考项目文件夹,而不是脚本所在的文件夹。
{
// 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": []
}
]
}
我一直在仔细阅读 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
功能已在 version 1.10.0 中发布。例如,我正在使用它在 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": []
}
]
}
这是一个工作示例,运行s tcs 构建并使用 shell 脚本将源复制到另一个文件夹。 这是基于 Whosebug 上的各种 post 和此处的文档:
https://code.visualstudio.com/updates/v1_10#_more-work-on-terminal-runner
一个人也可以用两个任务创建一个 tasks.json,第二个任务依赖于第一个任务,如 Ben Creasy post 所示,这两个任务将在第二个任务执行时执行叫。我需要能够执行一个、另一个或两者。非常感谢 Ben,我在点击这个 post.
之前很难找到解决方案顺便说一句,当包含 shell 文件时,命令是 运行 参考项目文件夹,而不是脚本所在的文件夹。
{
// 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": []
}
]
}