Visual studio code 如何仅使用tasks.json链接Visual Studio代码中的任务?

Visual studio code 如何仅使用tasks.json链接Visual Studio代码中的任务?,visual-studio-code,vscode-tasks,Visual Studio Code,Vscode Tasks,我一直在仔细阅读的文档,以了解如何将多个连续任务添加到tasks.json文件中 tasks数组只允许为同一命令创建不同的参数。在本例中,命令为echo { “版本”:“0.1.0”, “命令”:“回声”, “isShellCommand”:正确, “args”:[], “showOutput”:“始终”, “echoCommand”:没错, “suppressTaskName”:true, “任务”:[ { “任务名”:“你好”, “args”:[“你好,世界”] }, { “任务名称”:“再

我一直在仔细阅读的文档,以了解如何将多个连续任务添加到
tasks.json
文件中

tasks
数组只允许为同一命令创建不同的参数。在本例中,命令为
echo

{
“版本”:“0.1.0”,
“命令”:“回声”,
“isShellCommand”:正确,
“args”:[],
“showOutput”:“始终”,
“echoCommand”:没错,
“suppressTaskName”:true,
“任务”:[
{
“任务名”:“你好”,
“args”:[“你好,世界”]
},
{
“任务名称”:“再见”,
“args”:[“再见”]
}
]
}

tasks.json是否允许连续执行多个任务?例如,
tsc
后接
uglify

dependsOn
功能已随附。例如,我使用它来编译和运行TypeScript中的单文件脚本:

{
“版本”:“2.0.0”,
“任务”:[
{
“命令”:“tsc-p${cwd}/2017播放”,
“标签”:“tsc编译”,
“类型”:“外壳”
},
{
“命令”:“节点${cwd}/2017 play/build/${fileBasenameNoExtension}.js”,
“标签”:“节点执行器”,
“类型”:“外壳”,
“dependsOn”:[
“tsc编译”
],
“问题匹配者”:[]
}
]
}

下面是一个运行tcs构建并使用shell脚本将源代码复制到另一个文件夹的工作示例。 这是基于StackOverflow上的各种帖子和此处的文档:

还可以创建tasks.json,其中两个任务的第二个任务依赖于第一个任务,如Ben Creasy 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": []
  }
 ]
}

在最新版本的VS代码中,我不再使用tasks.json。您可以将命令放在
package.json
中的
scripts
标记下。如果只需要两个或三个连续命令,则可以使用
pre
post
标记。如果你的构建过程变得更加复杂,你可以使用gulp或webpack。这是一个巨大的改进!但我仍然认为MS的文档对于如何使用
tasks.json
非常不清楚。至此,我已经放弃了,只使用
npm脚本
webpack