launch.json 是 vscode 调试核心配置文件,位于项目根目录。vscode/ 下,通过“运行→添加配置”自动生成,支持多配置共存,关键字段包括 name、type、request、program、args、env 等,需注意路径变量、插件匹配、参数格式及 sourcemap配置。

VSCode 的 launch.json 是调试功能的核心配置文件,它告诉编辑器“怎么启动、连哪个程序、传什么参数、在哪断点”。配对了,F5 一按就进调试;配错了,可能直接报错或静默失败。
launch.json 从哪来?
它默认位于项目根目录下的 .vscode/launch.json。首次点击「运行 → 添加配置」,VSCode 会自动创建该文件,并根据你当前打开的文件类型(如 python、node.js、C++)推荐对应环境的模板。你也可以手动新建 .vscode 文件夹再添加这个文件。
核心字段一看就懂
每个调试配置是一个 JSON 对象,常见字段含义直白实用:
- name:配置名,显示在 VSCode 调试下拉菜单里,比如“Launch via Node”
- type:调试器类型,决定用哪个插件干活,如
node、python、cppdbg - request:请求模式,常用
launch(本地启动)或attach(附加到已有进程) - program:要调试的主文件路径,支持变量如
${file}(当前打开文件)、${workspaceFolder}(工作区根目录) - args:命令行 参数数组,例如
["--port", "3001"] - env:启动时注入的环境变量,如
{"NODE_ENV": "development"} - console:控制台类型,
integratedTerminal最常用,输出和输入都在 VSCode 内置终端里
多配置共存很常见
一个 launch.json 可以定义多个调试项,用 configurations 数组管理。比如一个 前端 项目可能同时有:
切换时只需在 VSCode 顶部调试面板选择对应 name 即可,互不干扰。
容易踩的坑
配置看似简单,但几个细节常导致调试失败:
- 路径写死却没考虑跨平台 —— 推荐用
${workspaceFolder}/src/index.js而非C:/project/src/index.js - type 值拼错或没装对应调试插件 —— 比如写
"type": "py"不生效,得是"python",且需安装 Python 扩展 - args 传参格式不对 —— 字符串 数组,不是空格分隔的大字符串;含空格的值要单独成项,如
["--name", "my app"] - 未启用 sourceMap(尤其 typescript 或打包后 JS)—— 需在配置中加
"sourceMaps": true并确保编译产物带 map 文件
基本上就这些。不需要背全字段,记住 type、request、program 三个骨架,再按需加 args 或 env,调试就跑起来了。