🙄
Freezedの定型コードを自動生成するスニペットテンプレートの紹介
概要
Freezedの基本構文をスニペット化してテンプレートを作成したのでご紹介します。
これでお決まりの雛形を freezed
だけで呼び出せます。
開発効率を向上させていきましょう。
スニペット
dart.json
{
"Freezed class with import": {
"prefix": "freezed",
"description": "freezedのテンプレート",
"body": [
"import 'package:freezed_annotation/freezed_annotation.dart';",
"",
"part '${TM_FILENAME_BASE}.freezed.dart';",
"part '${TM_FILENAME_BASE}.g.dart';",
"",
"@freezed",
"class ${1:ClassName} with _$${1:ClassName} {",
" const factory ${1:ClassName}({",
" required String ${2:field},",
" // 必要なフィールドを追加",
" }) = _${1:ClassName};",
"",
" // カスタムメソッドを追加する場合はプライベートコンストラクタが必要",
" // const ${1:ClassName}._();",
"",
" factory ${1:ClassName}.fromJson(Map<String, dynamic> json) =>",
" _$${1:ClassName}FromJson(json);",
"}"
]
}
}
設定手順
IDEはVScode(forkしてるためCursorでも可)での設定になります。
-
画面左下の設定→スニペットを押下
-
検索バーに
dart.json
と入力し Enter
-
テンプレートを貼り付ける
デモ
(ffmpeg使ったりしてgifにしたのですが荒くなって視認性悪かったので画像を添付します)
freezed
と入力すると先ほど作成したスニペットが表示されますので Enter
添付画像の様にテンプレートが作成されますので後はクラス名や必要なフィールドを追加して buile_runner を実行してもらえればOKです!
Discussion