launch.json是VS Code调试核心配置文件,定义调试行为。其结构包含version、configurations数组,每个配置含name、type、request等字段,用于指定调试场景;通过合理设置program、args、env、cwd等参数,并结合${workspaceFolder}等变量,可高效调试Node.js、Python、前端项目;不同语言需匹配对应type类型,如node、python、chrome;使用attach模式可附加到运行进程;借助智能提示与模板可快速创建配置。

VS Code 的调试功能强大且灵活,核心配置文件是项目根目录下 .vscode/launch.json。它定义了启动调试会话时的行为,比如程序入口、运行环境、参数传递等。正确配置这个文件,能让调试更高效。
理解 launch.json 的基本结构
launch.json 是一个 JSON 文件,包含一个或多个调试配置。每个配置对应一种调试场景,例如启动应用、附加到进程、运行测试等。
基础结构如下:
{ "version": "0.2.0", "configurations": [ { "name": "启动 Node.js 应用", "type": "node", "request": "launch", "program": "${workspaceFolder}/app.js", "console": "integratedTerminal" } ] }- version:指定 schema 版本,固定为 "0.2.0"
- configurations:调试配置数组,可定义多个
- name:配置的名称,出现在调试侧边栏下拉菜单中
- type:调试器类型,如 node、python、php、chrome 等
- request:请求类型,常见为 "launch"(启动程序)或 "attach"(附加到正在运行的进程)
- program:要运行的程序入口文件路径
- console:指定控制台行为,如 "integratedTerminal" 在终端中运行,避免窗口闪退
常用字段与实用技巧
除了基本字段,合理使用变量和扩展选项能提升调试体验。
- ${workspaceFolder}:当前打开的项目根路径
- ${file}:当前打开的文件路径,适合调试单个脚本
- args:传递命令行参数,如 "args": ["--port", "3000"]
- env:设置环境变量,例如 "env": { "NODE_ENV": "development" }
- cwd:指定程序运行的工作目录
- stopOnEntry:设为 true 可在程序第一行暂停,便于查看初始化状态
示例:调试带参数和环境变量的 Node.js 脚本
{ "name": "调试服务器", "type": "node", "request": "launch", "program": "${workspaceFolder}/server.js", "args": ["--watch"], "env": { "DEBUG": "app*" }, "console": "integratedTerminal", "stopOnEntry": false }不同语言的配置差异
调试器类型决定可用字段。以下是常见语言的简要说明。
Python
- type 为 "python"
- 确保已安装 Python 扩展
- 可指定解释器路径或虚拟环境:"python": "/path/to/venv/bin/python"
前端 JavaScript(Chrome)
- 配合 Chrome 扩展使用,type 为 "chrome"
- 需启动本地服务,并配置 webRoot 映射源码路径
- 常见用于调试 React、Vue 等项目
附加到进程(Attach)
- request 设为 "attach"
- 需要指定进程 ID 或端口,适用于调试长时间运行的服务










