VS Code调试完全手册:从launch.json开始
发布时间 - 2025-12-04 00:00:00 点击率:次launch.json是VS Code项目级调试配置文件,存于.vscode/下,定义启动方式、环境变量等;核心字段包括type、request、name、program、args、env;配置错误会导致断点失效等问题。
VS Code 的调试能力非常强大,但真正用起来顺手,关键不是点“开始调试”按钮,而是理解 launch.json 这个配置文件——它才是调试行为的“总开关”。没配对,断点不生效、变量看不到、程序起不来,都是常事。
launch.json 是什么,为什么绕不开
它是 VS Code 项目级的调试配置文件,存放在 .vscode/launch.json 下。VS Code 不会自动猜你想怎么跑代码:是直接执行 Python 脚本?还是 attach 到一个已运行的 Node.js 进程?是否要传命令行参数?环境变量设哪些?这些全靠它定义。没有它,调试器连“启动方式”都不知道。
生成方式很简单:按 Ctrl+Shift+P(Windows/Linux)或 Cmd+Shift+P(macOS),输入 Debug: Open launch.json,选对应环境(如 Python、Node.js、Go),VS Code 就会自动生成一个基础模板。
核心字段一学就会
一个典型配置里,这几个字段最常用也最关键:
-
type:调试器类型,比如
python、node、go,必须和已安装的调试扩展匹配 -
request:取值通常是
launch(启动新进程)或attach(连接已有进程),别写反 -
name:调试配置的名字,会显示在 VS Code 顶部的调试下拉菜单里,建议起得具体点,比如
Launch server.py with --debug -
program(Python/Node 常用):要运行的入口文件路径,支持相对路径,如
"${workspaceFolder}/src/main.py" -
args:命令行参数数组,例如
["--port", "8080", "--env", "dev"] -
env:环境变量对象,比如
{"PYTHONPATH": "${workspaceFolder}/lib"},注意变量值里可用${...}变量语法
常见问题现场解决
断点灰色、控制台没输出、提示 “Cannot launch program”?大概率是这几个地方出错了:
- 检查
program路径是否存在、拼写是否正确,特别是大小写和斜杠方向(Windows 用/或\\都行,但别混用) - 确认已安装对应语言的调试扩展(如 Python 扩展含 debugpy;Node.js 需装官方 “Debugger for Edge” 或 “JavaScript Debugger”)
- 如果用
attach模式,确保目标进程已启动且开启了调试端口(如 Node 加了--inspect=9229) - 多配置时,务必在 VS Code 顶部调试下拉菜单中选对
name,否则点错就白忙活
进阶技巧让调试更省心
小改动,效率翻倍:
- 用
preLaunchTask自动构建:比如调试前先执行npm run build,避免手动编译遗漏 - 加
console:"integratedTerminal",让程序输出直接在 VS Code 终端里跑,方便看日志、输交互内容 - 设置
justMyCode:false(Python)可进入标准库源码调试;skipFiles(Node)跳过 node_modules,聚焦业务逻辑 - 多个
configurations可共存,比如一个本地开发,一个连接测试服务器,切
换即用
基本上就这些。launch.json 看似是配置文件,实则是你和调试器之间的“协议说明书”。配清楚,调试就从玄学变确定性操作。
# vs code
# linux
# javascript
# python
# java
# vscode
# js
# node.js
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门
魔毅自助建站系统:模板定制与SEO优化一键生成指南
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
Android自定义控件实现温度旋转按钮效果
作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】
高端智能建站公司优选:品牌定制与SEO优化一站式服务
Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧
利用python获取某年中每个月的第一天和最后一天
C#如何调用原生C++ COM对象详解
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
如何快速查询网址的建站时间与历史轨迹?
Laravel如何实现本地化和多语言支持?(i18n教程)
Laravel如何处理文件下载请求?(Response示例)
手机软键盘弹出时影响布局的解决方法
iOS正则表达式验证手机号、邮箱、身份证号等
香港服务器部署网站为何提示未备案?
微信公众帐号开发教程之图文消息全攻略
PHP 500报错的快速解决方法
想要更高端的建设网站,这些原则一定要坚持!
Android仿QQ列表左滑删除操作
如何用y主机助手快速搭建网站?
详解vue.js组件化开发实践
nginx修改上传文件大小限制的方法
香港服务器如何优化才能显著提升网站加载速度?
javascript读取文本节点方法小结
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
php后缀怎么变mp4格式错误_修改扩展名提示格式不对怎么办【技巧】
Laravel怎么为数据库表字段添加索引以优化查询
微信小程序 HTTPS报错整理常见问题及解决方案
Windows驱动无法加载错误解决方法_驱动签名验证失败处理步骤
Win11怎么关闭资讯和兴趣_Windows11任务栏设置隐藏小组件
Laravel API资源类怎么用_Laravel API Resource数据转换
Swift中switch语句区间和元组模式匹配
Laravel如何设置自定义的日志文件名_Laravel根据日期或用户ID生成动态日志【技巧】
潮流网站制作头像软件下载,适合母子的网名有哪些?
html5如何实现懒加载图片_ intersectionobserver api用法【教程】
Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】
在centOS 7安装mysql 5.7的详细教程
Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南
javascript中的try catch异常捕获机制用法分析
大连网站制作费用,大连新青年网站,五年四班里的视频怎样下载啊?
Laravel如何实现事件和监听器?(Event & Listener实战)
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
Laravel如何实现邮箱地址验证功能_Laravel邮件验证流程与配置
,交易猫的商品怎么发布到网站上去?
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
独立制作一个网站多少钱,建立网站需要花多少钱?
Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理


换即用