launch.json文件的解释
{
"version": "0.2.0", // VSCode 调试配置的版本号
"configurations": [ // 调试配置数组,包含多个调试配置
{
// 第一个配置:调试开发服务器
"type": "node", // 使用 Node.js 调试器
"request": "launch", // 启动新的 Node.js 进程进行调试
"name": "Debug: pnpm run dev", // 在调试下拉菜单中显示的名称
"skipFiles": ["<node_internals>/**"], // 跳过 Node.js 内部模块的调试
"program": "${workspaceFolder}/packages/vite/bin/vite.js", // 要调试的程序入口文件
"args": ["--debug"], // 传递给程序的参数,这里添加了 --debug 参数以获取更详细的日志
"cwd": "${workspaceFolder}/playground/vue-vite-project-test", // 程序运行的工作目录
"console": "integratedTerminal", // 使用 VSCode 的集成终端显示输出
"outFiles": ["${workspaceFolder}/packages/vite/dist/**/*.js"], // 编译后的 JavaScript 文件位置
"sourceMaps": true, // 启用源码映射,可以调试 TypeScript 源码
"resolveSourceMapLocations": [ // 源码映射文件的位置
"${workspaceFolder}/packages/vite/**", // 包含 Vite 源码目录
"!**/node_modules/**" // 排除 node_modules 目录
]
},
{
// 第二个配置:调试构建过程
// 配置与第一个类似,但 args 改为 ["build", "--debug"]
// 用于调试 pnpm run build 命令
},
{
// 第三个配置:调试预览服务器
// 配置与第一个类似,但 args 改为 ["preview", "--debug"]
// 用于调试 pnpm run preview 命令
}
]
}
"version": "0.2.0"
"version": "0.2.0" 是 VSCode 调试配置文件的固定版本号。这个版本号表示 VSCode 调试配置文件的格式版本,而不是 VSCode 本身的版本。 这个版本号的作用是: 告诉 VSCode 使用哪个版本的调试配置格式来解析这个文件 确保调试配置的兼容性 如果将来 VSCode 的调试配置格式有重大变化,可能会更新这个版本号 目前 VSCode 的调试配置文件主要使用两个版本: "0.2.0" - 这是最常用的版本,支持大多数调试场景 "0.1.0" - 这是较旧的版本,现在很少使用 所以我们在配置文件中使用 "0.2.0" 是最安全的选择,因为: 它是最稳定的版本 支持所有现代调试功能 与所有 VSCode 版本兼容 如果您查看 VSCode 的官方文档或示例,也会发现它们都使用 "0.2.0" 这个版本号。
configurations
"configurations" 数组里配置的是不同的调试场景,每个场景都是一个独立的配置对象。
- 基本配置项:
{
"type": "node", // 调试器类型,可以是 "node"、"chrome"、"python" 等
"request": "launch", // 调试模式,可以是 "launch"(启动新进程)或 "attach"(附加到已运行进程)
"name": "Debug: pnpm run dev" // 调试配置的名称,会显示在 VSCode 调试下拉菜单中
}
- 程序相关配置:
{
"program": "${workspaceFolder}/packages/vite/bin/vite.js", // 要调试的程序入口文件
"args": ["--debug"], // 传递给程序的命令行参数
"cwd": "${workspaceFolder}/playground/vue-vite-project-test" // 程序运行的工作目录
}
- 调试优化配置:
{
"skipFiles": ["<node_internals>/**"], // 跳过不需要调试的文件
"sourceMaps": true, // 是否启用源码映射
"outFiles": ["${workspaceFolder}/packages/vite/dist/**/*.js"], // 编译后的文件位置
"resolveSourceMapLocations": [ // 源码映射文件的位置
"${workspaceFolder}/packages/vite/**",
"!**/node_modules/**"
]
}
- 环境配置:
{
"console": "integratedTerminal" // 控制台输出方式
}
其他常用的配置项
- 断点配置
{
"stopOnEntry": true, // 程序启动时立即暂停
"breakOnLoad": true // 加载模块时暂停
}
- 环境变量
{
"env": {
"NODE_ENV": "development",
"DEBUG": "vite:*"
}
}
- 端口配置
{
"port": 9229, // 调试端口
"restart": true // 程序崩溃时自动重启
}