【发布时间】:2018-11-25 10:23:22
【问题描述】:
我在 macOS 上使用 Visual Studio Code 来开发 Flutter 应用程序。
我可以在 VSC 的左下角选择一个设备。我还可以使用flutter run -d all 在多个设备上运行。我想知道如何使用 VSC 中的调试控制台在多个设备上运行。或者,至少调试一台设备,但显示所有设备的更新。
谢谢
【问题讨论】:
标签: visual-studio-code flutter
我在 macOS 上使用 Visual Studio Code 来开发 Flutter 应用程序。
我可以在 VSC 的左下角选择一个设备。我还可以使用flutter run -d all 在多个设备上运行。我想知道如何使用 VSC 中的调试控制台在多个设备上运行。或者,至少调试一台设备,但显示所有设备的更新。
谢谢
【问题讨论】:
标签: visual-studio-code flutter
如果您使用的是最新版本的 Flutter 和 Dart/Flutter 扩展(2019 年 12 月起),现在可以使用 VS Code 的复合启动配置来支持。
您的.vscode/launch.json 应包含每个设备的条目及其deviceId(这是您将传递给flutter run -d xxx 的ID):
{
"version": "0.2.0",
"configurations": [
{
"name": "Current Device",
"request": "launch",
"type": "dart"
},
{
"name": "Android",
"request": "launch",
"type": "dart",
"deviceId": "android"
},
{
"name": "iPhone",
"request": "launch",
"type": "dart",
"deviceId": "iphone"
},
],
"compounds": [
{
"name": "All Devices",
"configurations": ["Android", "iPhone"],
}
]
}
有关详细信息,请参阅https://github.com/flutter/flutter/wiki/Multi-device-debugging-in-VS-Code。
【讨论】:
deviceId(例如,如果您以后必须设置一个新的)--- 从终端运行flutter devices。第一列是设备名称;第二个是deviceId。这帮助我找到并设置了我的 Android deviceId,并启动了我的 Android 模拟器。但是,configurations 列表中iPhone 的deviceId(在创建launch.json 时设置)与flutter devices 结果中的deviceId 不匹配,但是... iPhone 模拟器仍然有效,并且与 Android 模拟器一起出现。
这个怎么样,它对我有用
flutter run -d all
【讨论】:
你只能同时运行两个设备或两个虚拟机
一个使用命令flutter run -d <put the id of the device>
另一个使用 f5 并选择另一个设备
【讨论】:
在 Flutter 1.12 中支持 VS Code 中的多设备调试 https://github.com/flutter/flutter/wiki/Multi-device-debugging-in-VS-Code
【讨论】:
如果你有不同的风格,你可以配置你的launch.json配置如下。
{
"version": "0.2.0",
"configurations": [
// config "Run Dev Android" and "Run Dev Iphone" will be user for multiple debuging,
{
"name": "Run Dev Android",
"request": "launch",
"deviceId": "SM",
"type": "dart",
"program": "lib/app/flavors/main_development.dart",
"flutterMode": "debug",
"args": [
"--flavor", "development",
]
},
{
"name": "Run Dev Iphone",
"flutterMode": "debug",
"deviceId": "Iphone",
"program": "lib/app/flavors/main_development.dart",
"type": "dart",
"args": [
"--flavor", "development",
]
},
{
"name": "Run Dev",
"program": "lib/app/flavors/main_development.dart",
"flutterMode": "debug",
"deviceId": "Android",
"type": "dart",
"args": [
"--flavor", "development",
]
},
{
"name": "Run Stage",
"program": "lib/app/flavors/main_staging.dart",
"flutterMode": "debug",
"type": "dart",
"args": [
"--flavor", "staging"
]
},
{
"name": "Run Prod",
"program": "lib/app/flavors/main_development.dart",
"flutterMode": "release",
"type": "dart",
"args": [
"--flavor", "production"
]
},
],
"compounds": [{
"name": "All Devices",
"configurations": ["Run Dev Android", "Run Dev Iphone"],
}]
}
现在您可以选择All Device 并点击运行。
【讨论】: