VSCode任务系统可自动化构建、测试和部署流程,通过tasks.json文件配置自定义任务,支持快捷键运行、问题匹配器捕获错误,并可定义任务依赖关系,提升开发效率。

VSCode的任务系统能帮你自动化构建、测试和部署等流程,不用离开编辑器就能执行外部命令。它支持自定义任务,可以绑定到快捷键或构建快捷操作,提升开发效率。
创建基本任务
任务配置文件是tasks.json,存放在项目根目录的.vscode文件夹中。你可以通过以下步骤创建:
- 打开命令面板(Ctrl+Shift+P)
- 输入“Configure Task”并选择
- 点击“Create tasks.json file from template”
- 选择一个模板,比如“Others”来创建通用 Shell 命令任务
生成的tasks.json示例:
{
"version": "2.0.0",
"tasks": [
{
"label": "echo hello",
"type": "shell",
"command": "echo Hello World",
"group": "build",
"presentation": {
"echo": true,
"reveal": "always"
},
"problemMatcher": []
}
]
}
说明:
- label:任务名称,你在VSCode中调用它的标识
- type:执行类型,常用的是"shell"或"process"
- command:要运行的命令
- group:将任务归类,如"build"或"test",可设为"default"实现Ctrl+Shift+B直接运行
- presentation:控制终端如何显示任务输出
运行和绑定任务
保存tasks.json后,可通过以下方式运行任务:
- 命令面板 → “Run Task” → 选择任务
- 快捷键 Ctrl+Shift+P → 输入“Tasks: Run Task”
- 若任务属于"build"组且设为"default",使用 Ctrl+Shift+B 构建
你也可以为任务绑定快捷键:
- 打开键盘快捷方式(File → Preferences → Keyboard Shortcuts)
- 搜索“workbench.action.tasks.runTask”
- 添加快捷键,并在弹出菜单中选择目标任务
进阶用法:变量与问题匹配器
VSCode支持内置变量,方便跨平台使用:
918网赚广告任务网系统是918团队专业开发,针对网赚项目设置,综合网赚的用户开发! 918网赚广告任务网系统前台栏目有 1、首 页 2、任务赚钱 3、浏览赚钱 4、点击赚钱 5、挂机赚钱 6、游戏赚钱 7、发布广告 8、商品购买 9、创业加盟 918网赚广告任务网系统后台功能也很完善,美工也不错。栏目有 会员管理 财务管理 商务管理 系统设置 918网赚广告任务网系统安装使用说明 系
- ${workspaceFolder}:当前项目根路径
- ${file}:当前打开的文件路径
- ${env:NAME}:环境变量,如${env:PATH}
示例:编译当前Go文件
{
"label": "go build",
"type": "shell",
"command": "go build ${file}",
"group": "build"
}
问题匹配器(Problem Matchers)能捕获命令输出中的错误,并在“问题”面板中显示:
"problemMatcher": {
"owner": "go",
"fileLocation": ["relative", "${workspaceFolder}"],
"pattern": {
"regexp": "^(.*)[,:]([0-9]+):\\s+(.*)$",
"file": 1,
"line": 2,
"message": 3
}
}
常见语言已有内置匹配器,例如:$tsc(TypeScript)、$go(Go),可直接引用:
"problemMatcher": ["$go"]
多个任务与依赖关系
你可以定义任务之间的依赖,比如先清理再构建:
{
"label": "clean",
"type": "shell",
"command": "rm -f output.txt"
},
{
"label": "build",
"type": "shell",
"command": "echo data > output.txt",
"dependsOn": "clean",
"group": "build"
}
支持多个依赖:
"dependsOn": ["clean", "lint"]
还可控制执行行为:
- dependsOrder:设置依赖执行顺序("sequence" 或 "parallel")
- runOptions:如"runOn"设置“folderOpen”自动运行









