Visual Studio Code documentation provides example tasks.json configuration允许 typescript 编译或 Markdown 编译。它没有阐明如何同时实现两者。
如何做到这一点?
这里是两个例子的总结...
typescript 示例
如果我想让 VSCode 执行 typescript 构建步骤,说明会说我需要安装 typescript (npm install -g typescript
),然后定义以下任务:
{
"version": "0.1.0",
"command": "tsc",
"isShellCommand": true,
"showOutput": "silent",
"args": ["*.ts"],
"problemMatcher": "$tsc"
}
Markdown 示例
如果我想让 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 的开发人员有更直接、更简单的方法来适应多个构建任务。有谁知道那是什么?
最佳答案
你几乎是正确的答案。
您可以定义多个构建任务,如上一个示例所示。
您没有意识到您可以在任务中覆盖全局属性。这意味着在一个任务中,您可以用一种方式定义“command”和“args”,而在另一个任务中用完全不同的值定义它。
从某种意义上说,将上面两个示例的内容复制到上一个示例中的每个任务中
关于node.js - 组合 Visual Studio Code 构建任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374902/