launch.json是VS Code调试功能的核心配置文件,用于定义启动方式、目标、参数及断点位置;由编辑器根据工作区和已安装调试扩展自动生成,包含name、type、request等关键字段,支持多配置共存与快速切换。

VS Code 的 launch.json 是调试功能的核心配置文件,它告诉编辑器“怎么启动、连谁、传什么参数、停在哪”。没有它,点击 ▶️ 调试按钮就只会提示“找不到调试配置”。
launch.json 从哪来?
它不是凭空出现的,而是由 VS Code 根据当前工作区和已安装的调试器扩展自动生成的模板。常见触发方式:
- 按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Debug: Open launch.json,选择环境(如 Node.js、Python、Go)
- 首次点击调试侧边栏的“运行和调试” → “创建 launch.json 文件”,再选环境
- 打开一个含调试扩展支持的项目(比如有
package.json的 Node 项目),VS Code 可能主动建议生成
核心字段一眼看懂
每个配置(configurations 数组中的一项)至少包含三个关键字段:
-
name:调试配置的名字,显示在调试下拉菜单里,比如
"Launch Program" -
type:调试器类型,必须与已安装的扩展匹配,例如
"node"、"python"、"cppdbg" -
request:请求模式,常见值是
"launch"(本地启动)或"attach"(附加到已有进程)
其他高频字段:program(要运行的入口文件)、args(命令行参数)、env(环境变量)、cwd(工作目录)、preLaunchTask(启动前执行的任务,如编译)。
多环境共存不打架
一个 launch.json 可以同时定义多个配置,用不同 name 区分。比如:
-
"Debug Server"— 启动 Express 后端,监听 3000 端口 -
"Debug Client"— 启动前端开发服务器,开浏览器 -
"Attach to Process"— 附加到正在运行的 Node 进程 PID
切换时只需在调试控制栏顶部下拉菜单选对应名字,VS Code 自动加载该配置的全部参数。
常见问题一查就灵
调试失败?先盯这几个地方:
-
路径写错:比如
"program": "./src/index.js",但文件实际在./lib/index.js,或没加./导致被当成模块名 -
type 不匹配:写了
"type": "python"却没装 Python 扩展,或装了但没启用 -
端口被占:
"port"字段(如用于 attach)指定的端口已被其他程序占用 - 断点不生效:确认源码映射是否正确(尤其 TypeScript 或打包后代码),检查
sourceMaps和outFiles配置
基本上就这些。launch.json 不复杂,但它是调试行为的唯一开关——配对了,一切顺;漏一项,就卡住。










