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
的基本结构如下:
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 设置环境变量,在应用中访问不同的配置。
这些设置让你能够灵活配置调试和非调试模式,帮助更好地进行开发和性能调优。