VSCode的launch.json文件配置详解
发布时间 - 2025-12-13 00:00:00 点击率:次launch.json是VSCode调试配置核心文件,首次调试时自动生成于.vscode/目录,为JSON数组结构,含version、configurations等必填字段,支持多配置共存与语言特化设置。
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": ["/**"],
"program": "${workspaceFolder}/index.js"
}
]
}
关键字段说明:
-
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=9229;address可选填 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 和 webRoot:Vue/React 构建后代码被压缩或转译,必须配对
sourceMaps: true和正确的webRoot,否则断点打在打包后文件上无效
基本上就这些。launch.json 不复杂但容易忽略变量和扩展依赖,配一次、理清逻辑,后续调试就能省掉大半手动操作。
# vue
# react
# python
# vscode
# js
# 前端
# node.js
# json
# node
# go
# docker
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
nodejs redis 发布订阅机制封装实现方法及实例代码
nginx修改上传文件大小限制的方法
简历在线制作网站免费版,如何创建个人简历?
Laravel怎么创建控制器Controller_Laravel路由绑定与控制器逻辑编写【指南】
用v-html解决Vue.js渲染中html标签不被解析的问题
Windows Hello人脸识别突然无法使用
bootstrap日历插件datetimepicker使用方法
Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何在Windows虚拟主机上快速搭建网站?
百度浏览器网页无法复制文字怎么办 百度浏览器复制修复
佛山企业网站制作公司有哪些,沟通100网上服务官网?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理
Laravel如何使用Telescope进行调试?(安装和使用教程)
PHP正则匹配日期和时间(时间戳转换)的实例代码
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
如何在宝塔面板中修改默认建站目录?
如何快速搭建自助建站会员专属系统?
香港网站服务器数量如何影响SEO优化效果?
瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口
如何快速查询网址的建站时间与历史轨迹?
北京网站制作的公司有哪些,北京白云观官方网站?
Java解压缩zip - 解压缩多个文件或文件夹实例
Laravel全局作用域是什么_Laravel Eloquent Global Scopes应用指南
如何用y主机助手快速搭建网站?
Laravel如何保护应用免受CSRF攻击?(原理和示例)
昵图网官方站入口 昵图网素材图库官网入口
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
Laravel如何发送系统通知_Laravel Notifications实现多渠道消息通知
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
Laravel如何使用Livewire构建动态组件?(入门代码)
电视网站制作tvbox接口,云海电视怎样自定义添加电视源?
Laravel如何为API生成Swagger或OpenAPI文档
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐
Python函数文档自动校验_规范解析【教程】
Edge浏览器怎么启用睡眠标签页_节省电脑内存占用优化技巧
html5源代码发行怎么设置权限_访问权限控制方法与实践【指南】
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
php结合redis实现高并发下的抢购、秒杀功能的实例
零基础网站服务器架设实战:轻量应用与域名解析配置指南
装修招标网站设计制作流程,装修招标流程?
ai格式如何转html_将AI设计稿转换为HTML页面流程【页面】
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
如何实现javascript表单验证_正则表达式有哪些实用技巧
厦门模型网站设计制作公司,厦门航空飞机模型掉色怎么办?
Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】
ChatGPT 4.0官网入口地址 ChatGPT在线体验官网
HTML 中动态设置元素 name 属性的正确语法详解
Bootstrap整体框架之CSS12栅格系统


前端项目(Chrome 调试):装好 Debugger for Chrome 扩展;