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"
            ]
        }
    ]
}
相关推荐
李慕婉学姐19 分钟前
【开题答辩过程】以《基于Spring Boot和大数据的医院挂号系统的设计与实现》为例,不知道这个选题怎么做的,不知道这个选题怎么开题答辩的可以进来看看
大数据·spring boot·后端
源代码•宸1 小时前
Leetcode—3. 无重复字符的最长子串【中等】
经验分享·后端·算法·leetcode·面试·golang·string
0和1的舞者2 小时前
基于Spring的论坛系统-前置知识
java·后端·spring·系统·开发·知识
invicinble2 小时前
对于springboot
java·spring boot·后端
码界奇点3 小时前
基于Spring Boot与Vue的校园后台管理系统设计与实现
vue.js·spring boot·后端·毕业设计·源代码管理
爱编程的小庄3 小时前
Rust 发行版本及工具介绍
开发语言·后端·rust
Apifox.4 小时前
测试用例越堆越多?用 Apifox 测试套件让自动化回归更易维护
运维·前端·后端·测试工具·单元测试·自动化·测试用例
sunnyday04265 小时前
Nginx与Spring Cloud Gateway QPS统计全攻略
java·spring boot·后端·nginx
康王有点困5 小时前
Link入门
后端·flink
海南java第二人5 小时前
Spring Boot全局异常处理终极指南:打造优雅的API错误响应体系
java·spring boot·后端