VSCode 中的 launch.json 配置使用
VSCode 中的 launch.json 配置使用
在 VSCode 中,launch.json
文件用于配置调试设置,特别是用来定义如何启动和调试你的应用。它允许你配置不同的调试模式、运行参数和调试选项。
基本结构
launch.json
文件位于 .vscode
文件夹内,可以通过以下方式生成:
- 在 VS Code 中打开项目。
- 按
Ctrl(Command) + Shift + D
(或点击调试图标)。 - 点击 创建一个
launch.json
文件,然后选择你要调试的环境(例如 Dart/Flutter)。
常见配置项
1. 基本的 launch.json
配置
在 Flutter 项目中,launch.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 配置传递环境变量:
"env": {"APP_ENV": "dev"
}
在 main.dart 中,你可以通过 String.fromEnvironment 来访问这个变量:
void main() {const appEnv = String.fromEnvironment('APP_ENV', defaultValue: 'pro');runApp(MyApp(appEnv: appEnv));
}
完整示例
{"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 设置环境变量,在应用中访问不同的配置。
这些设置让你能够灵活配置调试和非调试模式,帮助更好地进行开发和性能调优。