🙄

Freezedの定型コードを自動生成するスニペットテンプレートの紹介

2025/02/27に公開

概要

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でも可)での設定になります。

  1. 画面左下の設定→スニペットを押下

  2. 検索バーにdart.jsonと入力し Enter

  3. テンプレートを貼り付ける

デモ

(ffmpeg使ったりしてgifにしたのですが荒くなって視認性悪かったので画像を添付します)

freezed と入力すると先ほど作成したスニペットが表示されますので Enter

添付画像の様にテンプレートが作成されますので後はクラス名や必要なフィールドを追加して buile_runner を実行してもらえればOKです!

Discussion