🏭
【Flutter】 freezedのテンプレ実装(コードスニペット)の登録
概要
freezedを使う際に、riverpodやstatelessクラスのような、補完機能?がない。
なので、「fr」とタイプしたら、freezedのテンプレクラスが生成されるよう対応する。
(AndroidStudioのLiveテンプレート機能を利用)
環境
- freezed v2.5.2
対応
1 Live Templates 画面を開く
[Android Studio]->[Settings]を開き、
[Live Templates]を開く(Editorタブ内にある)
2 Flutterを選択し、「+」ボタンで項目を追加
3 補完するキー名を登録
- fr と登録
- テンプレの説明文 ( Freezed Template class 、と記載)
4 テンプレートコードを登録
import 'package:freezed_annotation/freezed_annotation.dart';
part '$FILE_NAME$.freezed.dart';
part '$FILE_NAME$.g.dart';
class $CLASS_NAME$ with _$$$CLASS_NAME$ {
const factory $CLASS_NAME$({
required String hogeString,
}) = _$CLASS_NAME$;
const $CLASS_NAME$._();
factory $CLASS_NAME$.fromJson(Map<String, dynamic> json) =>
_$$$CLASS_NAME$FromJson(json);
}
5 対象言語を設定
- 「Define」(※Changeボタンの箇所)をタップし、「Dart -> Top Level」にチェック
動作確認
適当なdartファイル内で、
- fr と打って、サジェストが出ること
- サジェストをEnterで、freezedのテンプレクラスが作成されること
- ↓コード生成コマンド後に、エラー解消してビルド可能であること
flutter pub run build_runner build --delete-conflicting-outputs
Discussion