Flutter : Flutter Desktop Embedding のデバッグ・ホットリロード(Windows)
の続き。デバッグとホットリロードについて。基本的に Debugging Desktop Flutter Applications に書いてあることのメモ。
- C++ の
example\windows\flutter_embedder_example.cppのarguments.push_back(argv[0]);の下にarguments.push_back("--observatory-port=49494");を加える(49494 部分は適当な空いているポートであればなんでもいい)。- これで Observatory Port が 49494 に固定される。
- プログラムを実行したときにコンソールに表示される
flutter: Observatory listening on http://127.0.0.1:49494/のような一文でポートは確認できる。
- VS Code で
example\flutter_appディレクトリを開く。- Flutter の Extension を入れてなければ入れて Reload する。
- Debug パネルを開く(Ctrl + Shift + D)。
- 左上の再生ボタンみたいなところから設定を追加する。
- リンク先の設定を configurations 内にコピペする。ポートは ↑ で設定した数字。
- この(アプリが起動していて、VS Code で flutter_app ディレクトリを開き、launch.json を作った)状態で、VS Code 内で F5 を押すとアプリにアタッチされる。これで Flutter アプリのソースコード(lib/main.dart など)を編集すれば Hot Reload されて、VS Code で break point を設定すればそこに到達したときに止まる(incrementCounter で試した)
launch.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Flutter Desktop Attach",
"request": "attach",
"deviceId": "flutter-tester",
"observatoryUri": "http://127.0.0.1:49494/",
"type": "dart"
}
]
}