Visual Studio Code文档提供了示例 tasks.json 配置,允许 typescript 编译或 markdown 编译。它没有阐明如何同时实现两者。
怎么可能呢?
以下是两个示例的摘要...
打字稿示例
如果我希望 VSCode 执行 typescript 构建步骤,说明我需要安装 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"
}
]
}
以上是法律语法的骨架,但不清楚如何完成这个故事。我知道这里和那里关于如何解决这些问题的讨论,但似乎存在根本性的脱节。例如,当我按下 时,VSCode 怎么知道它应该执行这两个任务ctrl+shift+b
?
毫无疑问,VSCode 的开发人员有一种更直接、更简单的方法来适应多个构建任务。有谁知道那是什么?