【VS Code】launch.json与tasks.json
·
VS Code 本质上而言是一个文本编辑器,是众多插件赋予它特殊功能。
本文介绍
tasks.json和
launch.json两个文件分别有什么作用以及如何配置
tasks.json
作用
tasks.json 文件是VS Code 中用于配置任务Tasks的文件。这些任务可以是编译代码、运行测试、构建项目等自动化任务。
使用不同的编程语言可能有不同的开发流程,比如 C/C++ 就需要编译(广义编译,包括了链接)、运行、测试、打包等等流程,而 Python只需要运行即可,为了把各种语言的不同开发流程抽象成同一套流程,于是有了编码(Code)— 构建(build)— 运行/调试(run/debug)— 测试 (test) — 打包(package) 等等,其中每个环节都可以认为是一个 task,所以可以利用 tasks.json来手动完成那些使用 IDE 时被隐藏的开发流程细节
字段
tasks.json 文件通常位于.vscode目录下,具有以下基本结构:
{
"version": "2.0.0",
"tasks": [
{
// 任务配置块
}
]
}
配置块
- label:
string, 任务的名称或标签,用于在任务列表中标识任务。 - type:
string, 任务类型,例如 shell 或 process。shell 表示任务将在 shell 中运行,process 表示任务将作为独立的进程运行。 - command:
string, 要执行的命令,可以是编译器、构建工具、脚本等。 - args:
list<string>, 传递给命令的参数,数组形式。 - group:
string, 任务分组,可以设置为 build 或 test,用于标识构建任务或测试任务。 - presentation:控制任务输出的呈现方式,例如是否显示在终端中,是否清除之前的输出等。
- problemMatcher: 配置错误和警告的匹配器,用于从任务输出中解析错误和警告。
- options:任务执行的选项,例如环境变量、当前工作目录等。
launch.json
作用
launch.json是用于配置调试会话。它定义了调试器如何启动和运行程序。
字段
launch.json 文件一般位于 .vscode 目录下,具有以下基本结构:
{
"version": "0.2.0",
"configurations": [
{
// 配置块
}
]
}
配置块
每个配置块代表一个调试配置,包含多个属性。以下是一些常见属性的说明:
- type:
string,调试器类型,如python,cppdbg,node,java, 等。 - request:
string,调试请求类型,通常为launch(启动)或attach(附加,附加到进程)。 - name:
string,配置名称,在终端列表中的名称。 - program:
string,要调试的程序路径或文件,比如xx.out。 - args:
list<string>,传递给程序的命令行参数,数组形式。 - cwd:
string,当前工作目录。 - environment:
list<string>,环境变量设置。 - sourceMaps:是否启用源映射(通常用于 JavaScript 调试)。
- preLaunchTask:
string,调试前要执行的任务(通常用于编译等)。 - postDebugTask:
string,调试结束后要执行的任务。 - stopOnEntry:
bool,调试时是否在程序入口处停止。 - console:控制台类型,如
integratedTerminal,externalTerminal, 或internalConsole。 - justMyCode: 是否只调试用户代码(用于 Python)。
- pythonPath: Python 可执行文件的路径(用于 Python)。
更多的参数可以参考vs 官方介绍
两个文件区别
- 用途
tasks.json:用于配置和管理自动化任务(编译、构建、运行脚本)launch.json:用于配置调试器,定义调试会话的启动和运行参数
- 配置内容
tasks.json:定义要执行的任务及其参数和选项launch.json:定义调试会话的参数和选项,包括要调试的程序、调试器类型、启动或附加模式等
- 工作流
tasks.json:适用于日常开发中的重复任务,自动化构建和测试流程launch.json:适用于调试代码,启动调试会话或附加到正在运行的程序
在许多情况下,tasks.json 和 launch.json 可以结合使用。例如,可以在 launch.json 中定义一个调试配置,并在调试前执行一个由 tasks.json 配置的编译任务
参考文章
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)