Visual Studio代码documentation provides example tasks.json configuration,允许进行打字稿编译或降价编译。它没有说明如何同时实现两者。
怎么办呢?
以下是两个例子的摘要......
如果我希望VSCode执行打字稿构建步骤,说明我需要安装typescript(npm install -g typescript
),然后定义以下任务:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"showOutput": "silent",
"args": ["*.ts"],
"problemMatcher": "$tsc"
}
如果我希望VSCode执行Markdown构建步骤,文档说我可以安装我选择的markdown插件(例如npm install -g marked
),然后定义任务:
{
"version": "0.1.0",
"command": "marked",
"isShellCommand": true,
"args": ["sample.md", "-o", "sample.html"]
}
显然,tasks.json可能只包含一个JSON对象。因此,我不能简单地用逗号加入上面的两个定义。另一方面,可以在整个任务定义中定义多个任务:
{
"version": "0.1.0",
"command": "<what goes here?>",
"isShellCommand": true,
"suppressTaskName": true, //or false?
"tasks": [
{
"taskName": "Launch Typescript"
},
{
"taskName": "Launch Markdown"
}
]
}
以上是法律语法的框架,但目前还不清楚如何完成故事。我知道有关如何解决这些问题的讨论here和there,但似乎存在根本性的脱节。例如,当我按ctrl+shift+b
时,VSCode如何知道它应该执行这两个任务?
确保VSCode的开发人员能够更直接,更简单地适应多个构建任务。有谁知道那是什么?
答案 0 :(得分:0)
你几乎是正确的答案。
您可以定义多个构建任务,如上一个示例所示。
您没有意识到的是您可以覆盖任务中的全局属性。在一个任务中,您可以单向定义“command”和“args”,在另一个任务中使用完全不同的值定义它。
从某种意义上说,将上面两个例子的内容复制到上一个例子中的每个任务中