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

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

相关推荐
Diligently_11 小时前
idea 中vm option 配置
java·ide·intellij-idea
我命由我1234511 小时前
在 Android Studio 中,新建 AIDL 文件按钮是灰色
android·ide·android studio·安卓·android jetpack·android-studio·android runtime
Hello World . .13 小时前
Linux:线程间通信
linux·开发语言·vscode
AC赳赳老秦13 小时前
云原生AI故障排查新趋势:利用DeepSeek实现高效定位部署报错与性能瓶颈
ide·人工智能·python·云原生·prometheus·ai-native·deepseek
被制作时长两年半的个人练习生14 小时前
claude code for vscode 配置 qwen3.5
ide·vscode·claude code·qwen3.5
圣心14 小时前
Visual Studio Code 中的 AI 智能操作
ide·人工智能·vscode
吹牛不交税14 小时前
关于vscode左侧资源管理器目录层级疑似异常的问题
ide·vscode·编辑器
xixi092414 小时前
selenium IDE安装使用教程
ide·selenium·测试工具
嵌入小生00714 小时前
线程间通信---嵌入式(Linux)
linux·c语言·vscode·嵌入式·互斥锁·线程间通信·信号量
上海合宙LuatOS14 小时前
LuatOS核心库API——【json 】json 生成和解析库
java·前端·网络·单片机·嵌入式硬件·物联网·json