コンテンツへスキップ →

Android StudioのLive Templateでエスケープ文字を使いたいとき

class $CLASS_NAME$ with _$$CLASS_NAME$ { 

上記のようにテンプレート内の変数CLASS_NAMEを使いたいときに、前に$マークがある場合だと、$変数名$が変数として認識してくれません。

class $CLASS_NAME$ with _$\$CLASS_NAME$ { 

一般的なエスケープ文字である、"\"もただの文字列として認識しているようで上手くいきません。

解決法

なので、どうするかというと更に"$"を追加します。

class $CLASS_NAME$ with _$$$CLASS_NAME$ { 

これで上手くいきました。

コード全体

import 'package:freezed_annotation/freezed_annotation.dart';

part '$TM_FILENAME_BASE$.freezed.dart';
part '$TM_FILENAME_BASE$.g.dart';

@freezed
class $CLASS_NAME$ with _$$$CLASS_NAME$ {
  const factory $CLASS_NAME$({
    required String name,
  }) = _$CLASS_NAME$;

  factory $CLASS_NAME$.fromJson(Map<String, Object?> json) =>
      _$$$CLASS_NAME$FromJson(json);
}

参考URL

カテゴリー: Android Flutter