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" } ] }