VSCode 中的 launch.json 配置使用

VSCode 中的 launch.json 配置使用

VSCode 中,launch.json 文件用于配置调试设置,特别是用来定义如何启动和调试你的应用。它允许你配置不同的调试模式、运行参数和调试选项。

基本结构

launch.json 文件位于 .vscode 文件夹内,可以通过以下方式生成:

  1. 在 VS Code 中打开项目。
  2. Ctrl(Command) + Shift + D(或点击调试图标)。
  3. 点击 创建一个 launch.json 文件,然后选择你要调试的环境(例如 Dart/Flutter)。

常见配置项

1. 基本的 launch.json 配置

在 Flutter 项目中,launch.json 的基本结构如下:

json 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Flutter: Launch",
      "request": "launch",
      "type": "dart",
      "program": "lib/main.dart",  // 指定入口文件
      "args": [],  // 可选,传递给程序的参数
      "flutterMode": "debug",  // 运行模式,可以是 "debug", "release", "profile"
      "noDebug": false,  // 是否不启用调试器
      "env": {
        "APP_ENV": "dev"  // 设置环境变量
      }
    }
  ]
}

2. 常见配置项说明

  • name: 配置名称,显示在 VS Code 中调试配置选择器里。
  • request: 调试请求类型,可以是 launch(启动)或 attach(附加到已运行的进程)。
  • type: 调试类型,Flutter 项目通常为 dart。
  • program: 入口文件,通常为 lib/main.dart。
  • args: 启动应用时传递给程序的命令行参数,类似于运行命令中的 --dart-define 等。
  • flutterMode: 控制 Flutter 应用的运行模式:
    • "debug": 调试模式,默认附加调试器。
    • "release": 发布模式,不附加调试器。
    • "profile": 性能模式,适用于性能测试,不附加调试器。
  • noDebug: 如果设置为 true,表示启动时不附加调试器,适用于 "Run Without Debugging" 场景。
  • env: 环境变量,可以通过该选项在调试时传递给应用的环境变量(如 APP_ENV=dev)。

如何切换运行模式

  • 调试模式 (debug):适用于开发阶段,支持热重载和断点调试。
  • 运行时通过 VS Code 启动时自动选择。
  • 发布模式 (release):不附加调试器,适合准备发布的版本。
  • 性能模式 (profile):用于性能分析,不附加调试器,调试信息被禁用,但支持性能工具。

环境变量配置

你可以通过 env 配置传递环境变量:

json 复制代码
"env": {
  "APP_ENV": "dev"
}

在 main.dart 中,你可以通过 String.fromEnvironment 来访问这个变量:

dart 复制代码
void main() {
  const appEnv = String.fromEnvironment('APP_ENV', defaultValue: 'pro');
  runApp(MyApp(appEnv: appEnv));
}

完整示例

json 复制代码
{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "Flutter: Launch",
      "request": "launch",
      "type": "dart",
      "program": "lib/main.dart",
      "flutterMode": "debug",  // 可以选择 "debug", "release", "profile"
      "noDebug": false,  // 启用调试器
      "env": {
        "APP_ENV": "dev"
      }
    },
    {
      "name": "Flutter: Run Without Debugging",
      "request": "launch",
      "type": "dart",
      "program": "lib/main.dart",
      "flutterMode": "release",
      "noDebug": true,  // 不启用调试器
      "args": [
        "--dart-define", "APP_ENV=dev"
      ]
    }
  ]
}

总结

  • launch.json 用于配置调试设置,在 VS Code 中选择如何启动和调试 Flutter 应用。
  • 你可以通过 flutterMode 设置不同的模式(调试、发布、性能)。
  • noDebug 让你选择是否附加调试器来运行应用,适合用于 "Run Without Debugging" 场景。
  • 你可以通过 env 设置环境变量,在应用中访问不同的配置。

这些设置让你能够灵活配置调试和非调试模式,帮助更好地进行开发和性能调优。

相关推荐
tan180°4 小时前
MySQL表的操作(3)
linux·数据库·c++·vscode·后端·mysql
万千思绪8 小时前
【PyCharm 2025.1.2配置debug】
ide·python·pycharm
我在看世界10 小时前
家里vscode连公司内网vscede
vscode·ssh
百锦再11 小时前
.Net配置文件appsetting.json的几种读取方法
chrome·json·.net·依赖注入·appsetting·web.config
不想迷路的小男孩12 小时前
Android Studio 中Palette跟Component Tree面板消失怎么恢复正常
android·ide·android studio
AlickLbc13 小时前
在phpstudy环境下配置搭建XDEBUG配合PHPSTORM的调试环境
ide·phpstorm
悠悠小茉莉13 小时前
Win11 安装 Visual Studio(保姆教程 - 更新至2025.07)
c++·ide·vscode·python·visualstudio·visual studio
SZ17011023113 小时前
华为云 银河麒麟 vscode远程连接
ide·vscode·华为云
yanjiee14 小时前
需要scl来指定编译器的clangd+cmake在vscode/cursor开发环境下的配置
ide·vscode·编辑器
Waltt_Qiope18 小时前
关于使用cursor tunnel链接vscode(避免1006 issue的做法)
ide·vscode·issue