VSCode的launch.json文件配置详解

2次阅读

launch.json是vscode调试配置核心文件,首次调试时自动生成于.vscode/目录,为json数组结构,含version、configurations等必填字段,支持多配置共存与语言特化设置。

VSCode的launch.json文件配置详解

VSCode 的 launch.json 是调试配置的核心文件,它告诉 VSCode 如何启动调试器、加载哪些程序、传什么参数、是否附加到进程等。配置写对了,调试才顺;写错了,常报 “Could not find program” 或 “No configuration” 这类错误。

launch.json 从哪来?基本结构长什么样

这个文件默认不存在,首次点击「运行 → 启动调试」或按 Ctrl+Shift+D 后点齿轮图标,VSCode 会自动在项目根目录的 .vscode/launch.json 下生成模板。它本质是一个 JSON 数组,每个对象代表一个可选的调试配置(即“启动配置”),通过 name 字段区分。

最小可用配置示例(以 node.js 为例):

{   "version": "0.2.0",   "configurations": [     {       "type": "node",       "request": "launch",       "name": "Launch Program",       "skipFiles": ["<node_internals>/**"],       "program": "${workspaceFolder}/index.js"     }   ] }

关键字段说明:

VSCode的launch.json文件配置详解

MTTSHOP包包免费商城系统

一款非常包包、衣服、鞋子类网站,页面干净清洁、一目了然,mttshop打造精致、简单、易用、免费的商城。 系统要求:IIS5.1以后,必须安装.net 3.5 安装步骤: 1、下载完成后,直接解压文件mttshop.rar 2、附加数据库:解压后的可以找一个叫db的文件夹,解压后直接附加就可以,支持SQL 2000、2005、2008 3、配置web.config文件,找到key=&qu

VSCode的launch.json文件配置详解 0

查看详情 VSCode的launch.json文件配置详解

  • version:固定为 "0.2.0",是 VSCode 调试协议版本,别改
  • configurations:必填数组,每个对象是一个调试入口
  • type:调试器类型,如 "node""python""cppdbg",需对应已安装的扩展
  • request:取值为 "launch"(启动新进程)或 "attach"(附加到已有进程)
  • name:调试启动项的显示名,在调试侧边栏下拉菜单中可见
  • program:要调试的主文件路径(launch 模式必需)

常见调试场景对应的关键配置项

不同语言和需求,核心字段差异明显。以下是最常遇到的几类:

  • Python 脚本调试:确保装了 Python 扩展;type: "python"module 可代替 program 运行包(如 "module": "http.server");console 设为 "integratedTerminal" 可在终端中交互输入
  • 前端项目(chrome 调试):装好 Debugger for Chrome 扩展;type: "pwa-chrome"url 指向本地服务地址(如 "http://localhost:3000");webRoot 告诉调试器源码根目录,用于断点映射
  • 附加到已运行的 Node 进程:设 request: "attach"port 对应 Node 启动时加的 --inspect=9229address 可选填 IP(默认 localhost)
  • 带参数或环境变量启动:用 args 数组传命令行参数(如 ["--port", "4000"]);用 env 对象设环境变量(如 {"NODE_ENV": "development"}

实用技巧与易错点提醒

很多问题不是配置不会写,而是细节没注意:

  • 路径必须用变量表达:硬写绝对路径(如 "C:/project/index.js")会导致协作失效;统一用 ${workspaceFolder}${file}${fileBasenameNoExtension} 等预定义变量
  • 多个配置共存没问题:一个 launch.json 可同时定义 “启动后端”、“启动前端”、“Attach 到 docker 容器” 等多个 configuration,切换靠顶部下拉菜单
  • 调试器不识别 type?先检查扩展:比如 "type": "go" 报错,大概率是没装 Go 扩展;"type": "pwa-msedge" 需装 Edge DevTools 扩展
  • 断点不命中?看 sourcemap 和 webRootvue/react 构建后代码被压缩或转译,必须配对 sourceMaps: true 和正确的 webRoot,否则断点打在打包后文件上无效

基本上就这些。launch.json 不复杂但容易忽略变量和扩展依赖,配一次、理清逻辑,后续调试就能省掉大半手动操作。

text=ZqhQzanResources