
VSCode调试功能强大,支持多种语言和运行环境。合理配置调试参数能大幅提升开发效率。核心配置文件是.vscode/launch.json,它定义了启动调试会话的方式。
launch.json 基本结构
在项目根目录的.vscode文件夹中创建launch.json,基本格式如下:
{ “version”: “0.2.0”, “configurations”: [ { “name”: “Launch node App”, “type”: “node“, “request”: “launch”, “program”: “${workspaceFolder}/app.js”, “console”: “integratedTerminal” } ] }
关键字段说明:
- name:调试配置的名称,出现在调试下拉菜单中
- type:调试器类型,如
node、python、cppdbg等 - request:请求类型,
launch表示启动程序,attach表示附加到已运行进程 - program:要运行的程序入口文件
- args:传递给程序的命令行参数
- env:设置环境变量
- console:指定控制台行为,可选
integratedTerminal、internalConsole或externalTerminal
常见语言调试配置示例
不同语言需要对应扩展和配置方式。
node.js 调试
确保已安装Node.js调试器(通常内置)。配置示例:
{ “name”: “Debug express App”, “type”: “node”, “request”: “launch”, “program”: “${workspaceFolder}/server.js”, “env”: { “NODE_ENV”: “development” }, “restart”: true, “watch”: true } Python 调试
需安装Python扩展。使用debugpy进行调试:
{ “name”: “Python: Current File”, “type”: “python“, “request”: “launch”, “program”: “${file}”, “console”: “integratedTerminal”, “justMyCode”: false } 前端 javaScript 调试(chrome)
需安装Debugger for Chrome扩展。配合本地服务器使用:
{ “name”: “Launch Chrome”, “type”: “chrome”, “request”: “launch”, “url”: “http://localhost:3000”, “webRoot”: “${workspaceFolder}” }
高级调试技巧
充分利用VSCode调试功能提升问题定位效率。
- 使用
preLaunchTask在调试前自动执行构建任务,例如编译typescript - 配置
postDebugTask在调试结束后执行清理操作 - 启用
autoAttachChildProcesses跟踪子进程(Node.js场景) - 结合
sourceMaps调试编译型语言或转译代码(如TypeScript) - 使用
skipFiles跳过第三方库代码,专注业务逻辑
断点与数据查看
点击编辑器行号左侧设置断点,支持条件断点和日志断点。
- 条件断点:右键断点 → 编辑断点,输入表达式(如
i === 10) - 日志断点:输出变量值而不中断执行,格式
Variable value: {variable} - 调试面板显示调用栈、作用域变量和监视表达式
- 可在WATCH面板添加表达式实时监控值变化
基本上就这些。根据项目实际选择合适配置,调试体验会很顺畅。