vscode调试的launch.json配置字段

launch.json

launch.json是一个调试的配置文件,控制.vscode子文件夹所在的文件夹,其中可以包含多个配置

每个配置由多个属性决定,下面将说明这些属性的作用。

以下三个属性是必须的。

  • type:调试器的类型。不同的语言有不同的调试器类型。
    • "node":调试 Node.js 程序
    • "python":调试 Python 程序
    • "java":调试 Java 程序
    • "pwa-chrome":调试 Chrome 浏览器
  • request:调试的模式,有两种模式可供选择。
    • "launch":启动一个新程序进行调试
    • "attach":附加到已经运行的程序进行调试
  • name:配置的名字,显示在"运行与调试"选项栏。

下面的属性是可选项。

  • persentation:使用order、group和hidden属性来定义调试配置的显示。
  • preLaunchTask:
    • 作用:在启动调试之前执行的任务,通常用于构建或运行初始化脚本。
    • 值:任务的名称(需要在 tasks.json 中定义)。
  • postLaunchTask:
    • 作用:调试完成后执行的任务。
    • 值:任务的名称。
  • internalConsoleOptions:定义调试控制台的显示。
  • serverReadyAction:设置在调试时自动在浏览器打开URL。

此外,调试器插件还支持以下属性。

  • program:要运行的可执行文件或源代码的路径,例如${file}表示当前光标所在的文件的路径。
  • args:要传递给program的参数,数组对象。
  • env:环境变量,键值对对象。
  • cwd:指定调试器的工作目录。默认值是${workspaceFolder}(这里是个变量,变量值请看下面章节: 常用变量(路径等) ),即当前工作区文件夹,对于只打开一个文件夹的情况,这就是指被打开的文件夹。对于工作区有多个文件夹的情况,指的是该.vscode文件夹所在的文件夹,如果使用${workspaceFolder:文件夹名}的格式则可以具体指定文件夹。
  • envFile:
    • 作用:指定包含环境变量的文件路径(通常为 .env 文件)。
    • 值:文件路径。
  • sourceMaps:
    • 作用:启用或禁用源映射(通常用于调试 TypeScript 或其他编译语言)。
    • 值:布尔值。
  • outFiles:
    • 作用:指定源映射文件的位置。
    • 值:文件路径数组。
  • port:要附加到进程的端口。
  • stopOnEntry:是否在程序入口处断点。
  • console:指定程序输出的位置。
  • internalConsole:VS code的调试控制台。
  • integratedTerminal:VS code的集成终端。
  • externalTerminal:系统的终端。

常用变量(路径等)

${workspaceFolder}:当前工作区的根目录。

${file}:当前打开的文件路径。

${fileDirname}:当前打开的文件所在的目录。

${relativeFile}:相对于工作区的文件路径。

${env:VAR_NAME}:环境变量 VAR_NAME 的值。

特定调试器的字段(示例)

  1. Node.js 调试器特有字段

    • program:要调试的 JavaScript 文件路径。

    • runtimeExecutable :指定运行环境(如 node 或自定义路径)。

    • 示例

      json 复制代码
      {
          "type": "node",
          "request": "launch",
          "name": "Launch Program",
          "program": "${workspaceFolder}/app.js",
          "runtimeExecutable": "node"
      }
  2. Python 调试器特有字段

    • pythonPath:Python 解释器路径。

    • module :调试的 Python 模块(如 flask)。

    • 示例

      json 复制代码
      {
          "type": "python",
          "request": "launch",
          "name": "Launch Python Script",
          "program": "${workspaceFolder}/main.py",
          "pythonPath": "/usr/bin/python3"
      }
  3. Chrome 调试器特有字段

    • url:要调试的页面 URL。

    • webRoot:代码所在的根目录,用于映射源代码。

    • 示例

      json 复制代码
      {
          "type": "pwa-chrome",
          "request": "launch",
          "name": "Launch Chrome",
          "url": "http://localhost:3000",
          "webRoot": "${workspaceFolder}"
      }

示例完整配置

以下是一个调试 Node.js 项目的 launch.json 示例:

json 复制代码
{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "launch",
            "name": "Launch Node.js App",
            "program": "${workspaceFolder}/app.js",
            "cwd": "${workspaceFolder}",
            "env": {
                "NODE_ENV": "development"
            },
            "sourceMaps": true,
            "outFiles": [
                "${workspaceFolder}/dist/**/*.js"
            ]
        }
    ]
}
相关推荐
魔尔助理顾问3 小时前
一个简洁高效的Flask用户管理示例
后端·python·flask
李长渊哦6 小时前
使用Druid连接池优化Spring Boot应用中的数据库连接
数据库·spring boot·后端
web135085886356 小时前
【Spring Boot】Spring AOP动态代理,以及静态代理
spring boot·后端·spring
nbsaas-boot7 小时前
Go 自动升级依赖版本
开发语言·后端·golang
zzyh1234568 小时前
springcloud的组件及作用
后端·spring·spring cloud
尚学教辅学习资料8 小时前
基于SpringBoot的图书借阅小程序+LW参考示例
spring boot·后端·小程序·java毕设·图书借阅
山海不说话8 小时前
从零搭建微服务项目Base(第5章——SpringBoot项目LogBack日志配置+Feign使用)
spring boot·后端·spring·spring cloud·微服务·logback
databook9 小时前
『Python底层原理』--CPython的变量实现机制
后端·python
初尘屿风9 小时前
小程序类毕业设计选题题目推荐 (29)
spring boot·后端·学习·微信·小程序·课程设计
JavaGuide10 小时前
武汉小米 Java 岗位一二面校招面经
java·后端