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 设置环境变量,在应用中访问不同的配置。

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

相关推荐
AI编码进化论3 小时前
云IDE介绍:环境模板化、Agent上云,云IDE该怎么选
开发语言·ide·人工智能·团队开发·ai编程
郝学胜-神的一滴4 小时前
C++20模板元编程 05:吃透变参模板,解锁编译期万能参数能力
服务器·开发语言·c++·windows·vscode
譕痕17 小时前
notepad++安装插件 可视化展示 json串内容
json·intellij-idea
我要见SA姐119 小时前
DeepSeek Harness 开源贡献手记:从 Issue 到 Merge 的完整旅程
ide·vscode·python·自动化·编辑器
ndsc_d21 小时前
VS Code 接入 Pixso MCP 实战:配置、安装 AI Skill 与设计稿转代码
vscode·ai·设计·pixso·skill·mcp·设计稿转代码
databook1 天前
DuckDB + SQL 高效分析 JSON 数据
数据分析·json·nosql
千里马学框架1 天前
Android 17 成功编译运行差异部分更新
vscode·开发工具·车载开发·aosp源码·安卓17·aosp17·编译源码
2501_915918411 天前
使用 VS Code 写 Swift 做 iOS 开发,插件能实现哪些功能,还有哪些短板
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
威嵌神州1 天前
天脉 3 开发环境与 BSP 适配:IDE license、驱动开发、飞腾平台
ide·驱动开发·嵌入式硬件·fpga开发
东小黑1 天前
Git 仓库操作与 VSCode 使用指南
git·vscode·gitee