launch.json文件

314 阅读2分钟

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" 数组里配置的是不同的调试场景,每个场景都是一个独立的配置对象。

  1. 基本配置项:
{
  "type": "node",           // 调试器类型,可以是 "node"、"chrome"、"python" 等
  "request": "launch",      // 调试模式,可以是 "launch"(启动新进程)或 "attach"(附加到已运行进程)
  "name": "Debug: pnpm run dev"  // 调试配置的名称,会显示在 VSCode 调试下拉菜单中
}
  1. 程序相关配置:
{
  "program": "${workspaceFolder}/packages/vite/bin/vite.js",  // 要调试的程序入口文件
  "args": ["--debug"],      // 传递给程序的命令行参数
  "cwd": "${workspaceFolder}/playground/vue-vite-project-test"  // 程序运行的工作目录
}
  1. 调试优化配置:
{
  "skipFiles": ["<node_internals>/**"],  // 跳过不需要调试的文件
  "sourceMaps": true,  // 是否启用源码映射
  "outFiles": ["${workspaceFolder}/packages/vite/dist/**/*.js"],  // 编译后的文件位置
  "resolveSourceMapLocations": [  // 源码映射文件的位置
    "${workspaceFolder}/packages/vite/**",
    "!**/node_modules/**"
  ]
}
  1. 环境配置:
{
  "console": "integratedTerminal"  // 控制台输出方式
}

其他常用的配置项

  1. 断点配置
{
  "stopOnEntry": true,  // 程序启动时立即暂停
  "breakOnLoad": true   // 加载模块时暂停
}
  1. 环境变量
{
  "env": {
    "NODE_ENV": "development",
    "DEBUG": "vite:*"
  }
}
  1. 端口配置
{
  "port": 9229,  // 调试端口
  "restart": true  // 程序崩溃时自动重启
}