vscode 中 tasks.json schema
这里列举了常用的配置项及可选值,但是不是最全的,更详细的说明请查阅字段对应官方文档。
例如runOn
字段,这里写了支持"default"
和"folderOpen"
实际上还有其他可选值,请自行查阅,这里知识抛砖引玉,对tasks.json
有个全貌了解
{"$schema": "http://json-schema.org/draft-07/schema#","version": "2.0.0", // 必选,必须为 "2.0.0""tasks": [ // 必选,任务数组{// --- 基础标识 ---"label": "string", // 必选,任务名称(唯一标识)"type": ["shell", "process", "npm"], // 必选,任务类型"detail": "string", // 可选,任务详细描述// --- 执行配置 ---"command": "string", // 条件必选(type为shell/process时必填)"args": ["string"], // 可选,命令参数数组"options": { // 可选,执行环境配置"cwd": "string", // 可选,工作目录(默认当前文件夹)"env": { "key": "value" }, // 可选,环境变量"shell": { // 可选,shell配置"executable": "string", // 可选,shell路径"args": ["string"] // 可选,shell参数}},// --- 任务控制 ---"group": { // 可选,任务分组"kind": ["build", "test", "none"], // 必选(如果使用group)"isDefault": "boolean" // 可选,是否默认任务},"presentation": { // 可选,输出显示方式"reveal": ["always", "silent", "never"], // 可选,是否展示终端"focus": "boolean", // 可选,是否聚焦终端"panel": ["shared", "dedicated", "new"], // 可选,终端面板行为"showReuseMessage": "boolean", // 可选,是否显示复用提示"clear": "boolean", // 可选,运行前是否清空终端"echo": "boolean" // 可选,是否回显命令},"problemMatcher": ["string" | { // 可选,问题匹配器"owner": "string", // 可选,问题所有者"pattern": { // 必选(自定义匹配器时)"regexp": "string", // 必选,正则表达式"file": "integer", // 可选,文件位置分组"line": "integer", // 可选,行号分组"message": "integer" // 可选,消息分组}}],"dependsOn": ["string" | { // 可选,依赖任务"task": "string", // 必选,任务标签"type": ["dependsOn", "file"] // 可选,依赖类型}],"dependsOrder": ["sequence", "parallel"], // 可选,依赖执行顺序// --- 高级配置 ---"runOptions": { // 可选,运行条件"runOn": ["default", "folderOpen"] // 可选,何时运行},"isBackground": "boolean", // 可选,是否后台任务"icon": { // 可选,任务图标(VSCode 1.64+)"id": "string", // 图标ID"color": ["string"] // 图标颜色},// --- 类型特定配置 ---// 当 type="npm" 时:"script": "string", // 可选,npm脚本名"path": "string", // 可选,package.json路径// 当 type="docker" 时(需Docker扩展):"dockerBuild": { // 可选,Docker构建配置"tag": "string", // 镜像标签"dockerfile": "string" // Dockerfile路径},// --- 输入配置 ---"inputs": [ // 可选,输入变量{"id": "string", // 必选,变量ID"type": ["promptString", "pickString", "command"],"description": "string", // 可选,描述文本"default": "string", // 可选,默认值"options": ["string"] // pickString的选项}]}]
}