ゼロからはじめるDart Dev Tools入門(VS codeを使って

最近Flutterを触りはじめました、 タガミショウゴ です。

Dartってどうなん?

f:id:ShowGoTagami:20200426155321p:plain
stackshare

Googleがつくったから好き、が一番多いってどないやねんというツッコミはなしです。

とにもかくにも、Dartは好き嫌いが別れる言語です。周りのエンジニアにも「Flutterはやってみたいけど、Dartはクソ」みたいな意見があります。

実際に使ってみた感想としては、

  • そこまで悪いものとは感じない
  • 早い
  • VScodeとの相性がいい
  • Dev Toolが多機能で良い

です。

Dart Dev Toolを使いこなす

Flutter&Dart と仲良くするコツはDart Dev Toolsを使いこなすこと、も大切な一つだと感じました。

フロントエンドエンジニアがGoogle Chrome Dev Toolsとにらめっこするのと同じイメージ。

0. VScodeを使う

VScode以外のエディタを使われている方はごめんなさい。

1. Flutter アプリケーションを用意する

適当なFlutterアプリケーションを用意します。今回はQuizアプリをもとに。

github.com

2. VScode からDart Dev Toolを開く

⌘ + Shift + P から、 'Dart DevTools' と入力すると以下のように予測変換されるはず。

f:id:ShowGoTagami:20200426160415p:plain
Open Dart DevTools

初めはVScode右下に「インストールしますか?」と確認ダイアログが出るので、そのままインストールします。

そのまま進めば、Webブラウザ

http://127.0.0.1:9100

Dart Dev Toolが開く。何やら黒い画面。

(注) 最初 loading... が終わらない場合がある

手元で最初試したときロード中の画面から切り替わらず(なんやこれ?)となりました。

が、画面リロードしたら直りました。もしダメなら一度VScodeから再度 Open DevToolsしてみてください。

3. DevToolを眺める

DevToolsを開いたら、VScode > 実行 > デバッグの実行 でシミュレーターを起動しましょう。

すると、DevToolsが表示されます。

Dart DevToolはそのアプリケーションのデータ構造をツリー状に表示してくれます。

f:id:ShowGoTagami:20200426161252p:plain
こんな感じ

例えば、TextWidget一つとってもこのように

f:id:ShowGoTagami:20200426161438p:plain
TextWidgets詳細

アプリケーションのデバッグ中にエラーで詰まった際に、データ構造、Widgets構造をチェックするときに重宝します。

コードを書きながら、DevToolsを更新したい場合は、画面左上の「Refresh Tree」で更新されます。ここだけはホットリロードが効きません。

4. Flutter Inspectorの主な機能

Slow Animation これをONにして、デバッグを実行すると、アニメーションがゆっくりと動きます。 細かい挙動を確認するのに使えます。

Debug Paint シミュレーター上に描画ポイントを表示してくれます。またWidget名も出るようになりました。

f:id:ShowGoTagami:20200426162431p:plain
Debug Paint

Repaint Rainbow そのWidgetが何回描画されたか、を色で表示してくれます。