テンプレートマクロ
コードテンプレートを適用すると、ReSharper は テンプレートパラメーターをいくつかの値で初期化します。 これらの値を計算するため、 テンプレートマクロを使用します。これにより、周囲のコンテキストに基づいて多くの有用なデータを取得できます。たとえば、現在のファイル名、現在のソリューション名、含まれている名前空間、クリップボードの内容などです。 さらに、マクロは コード補完アクションを呼び出したり、型や変数、タグなどを推測・提案できます。
新しいテンプレートパラメーターを宣言するとすぐに、パラメーターは テンプレートエディター の右側に表示され、その下に マクロを選択 ハイパーリンクが表示されます。 このリンクをクリックすると、パラメーターのマクロを選択できます。 ソーステンプレートを作成する場合、マクロは [Macro] 属性を使用して指定します。
一部のマクロは、必要なアイテムを提供するだけです。 例: 現在のソリューション名または タグ名を提案します。 他のマクロには独自のパラメーターがあり、指定する必要があります。 たとえば、テンプレートパラメーターに 型の変数を提案するマクロを選択した場合、対応するマクロパラメーターの型を指定する必要があります。 マクロを選択 ダイアログで マクロを選択すると、太字でマクロパラメーターを認識できます。
テンプレートパラメーターにマクロを定義しない場合、テンプレートを適用するときにパラメーター名が挿入されます。 パラメーターが 編集可能な場合、ユーザーはこの名前を編集することを提案されます。
テンプレートマクロの使い方を理解する最良の方法は、ReSharper の 事前定義済みテンプレートの豊富なセットを調べることです。
テンプレートマクロのリスト
次の表に、テンプレートの変数に使用できるすべてのマクロを示します。
Expression 列には、 [Macro(Target = "myVariable", Expression = "suggestVariableName()")] などの ソーステンプレート で使用できるマクロ式がリストされています。
説明 列には、 ユーザーインターフェースでテンプレート変数を作成または編集したときに マクロを選択 ダイアログに表示されるマクロが一覧表示されます。
Expression | 説明 | 詳細 |
|---|---|---|
| 空白文字を含まない現在のファイル名 | 空白文字を含まない現在のファイル名を評価します |
| 現在の親 Unity 型名 | 現在の親 Unity 型名 |
| 親の Unity 型名に基づいて Baker 名を生成する | 親の Unity 型名に基づいて Baker 名を生成する |
| エンティティの名前 | 可能な場合は「nameof(entity)」、そうでない場合は「entity」に評価されます |
| DependencyProperty 型 | 現在のフレームワークに固有の依存関係プロパティ型に評価します |
| 変数で表されるコレクションの要素型を推測する | コレクションの要素のコードと推測のタイプを分析します。 マクロパラメーター:
|
| インデックス変数の名前を提案する | 評価ポイントでのインデックス変数の一意な名前を提案します |
| 拡張子なし、英数字以外のすべての文字をアンダースコアに置き換えた現在のファイル名 | 現在のファイル名を拡張子なしで評価し、英数字以外のすべての文字をアンダースコアに置き換えます |
| 英数字以外のすべての文字をアンダースコアに置き換えた、拡張子なしのプライマリファイル名 | 拡張子なしで英数字以外のすべての文字をアンダースコアに置き換えたプライマリファイル名に評価します |
| 配列変数を提案する | 型が配列型の変数を提案します |
| 型への参照を挿入する | 選択した型名に評価します マクロパラメーター:
|
| 最初の文字が大文字の 別の変数の値 | 文字列値を大文字にします (つまり、最初の文字を大文字に変更します) マクロパラメーター:
|
| クリップボードの内容 | 現在のテキストクリップボードの内容に評価します |
| 基本補完を実行する | 変数が評価されるポイントで基本コード補完リストを表示します |
| スマート補完を実行する | 変数が評価されるポイントでスマートコード補完リストを表示します |
| 型補完を実行する | 変数が評価される時点で型補完リストを表示します |
| 一定値 | 指定された定数値に評価します マクロパラメーター:
|
| 型メンバー名を含む | 最も内側にある型メンバーの短い名前に評価されます (たとえばメソッドまたはプロパティ) |
| 型名を含む | 最も内側にある型の短い名前に評価されます |
| 型参照を含む | 最も内側の型の参照に評価します |
| 現在のコンテキストを説明する項目のリスト | 現在のコンテキストを説明するアイテムのリストを提供します。 これには、型名、名前空間名などを含むファイル名が含まれます。 |
| ファイルが指定された 形式で作成された日時 | 現在のファイルのファイル作成日時に評価します マクロパラメーター:
|
| 指定した 形式の現在の日付 | 現在の日付に評価します マクロパラメーター:
|
| 指定された 形式の現在の日付と時刻 | 現在の日付と時刻に評価します マクロパラメーター:
|
| 名前空間を含む | 含まれている名前空間の名前に評価されます |
| 最初の文字が小文字の 別の変数の値 | 文字列値を小文字にします (つまり、最初の文字を小文字に変更します) マクロパラメーター:
|
| デフォルトの名前空間 | 現在のプロジェクトのデフォルト名前空間に評価されます |
| 現在のファイルのデフォルト名前空間 | 現在のファイルのデフォルト名前空間に評価します |
| 現在のファイル名 | 現在のファイル名に評価されます |
| 拡張子なしの現在のファイル名 | 拡張子なしの現在のファイル名に評価します |
| 現在のユーザーのフルユーザー名 | 現在のユーザーのフルネームに評価されます |
| 予期されるコレクション型の要素型を推測します | この時点でコレクション型が予想される場合、要素型を推測します |
| この時点で予想される型を推測します | この時点で予想される型を推測します |
| 新しい GUID | 新しいグローバル一意識別子 (GUID) を生成する |
| 現在の行番号 | マクロが評価される行番号に評価します |
| コンマで区切られた値のリスト | 補完リストで指定した値のリストを表示します マクロパラメーター:
コンマ( |
| 現在のプロジェクト出力アセンブリ名 | 現在のプロジェクトの出力アセンブリ名に評価されます |
| 型のパラメーターを提案する | 指定した型のパラメーターを提案します マクロパラメーター:
|
| 現在のプロジェクトの名前 | 現在のプロジェクト名に評価されます |
| 現在のソリューション名 | 現在のソリューション名に評価されます |
| スペースが '_' で置き換えられる 別の変数の値 | スペースをアンダースコアに変更します(例:「do something useful」が「do_something_useful」になります) マクロパラメーター:
|
| 列挙変数を提案する | 列挙可能な可視変数を提案します(つまり、foreach ループでコレクションとして使えます) |
| 変数の名前を提案する | 変数宣言 (変数名が入るべき場所) で実行されると、変数の名前を提案します |
| 型の変数を提案する | 指定された型の変数を提案します マクロパラメーター:
|
| 新しい変数の型を提案する | テンプレートで宣言された新しい変数の型を提案します |
| 英数字以外のすべての文字をアンダースコアに置き換えた大文字の現在のファイル名 | 現在のファイル名を大文字で評価し、英数字以外のすべての文字をアンダースコアに置き換えます |
| 現在のユーザーの略称 | 現在のユーザー名に評価されます |
| Unreal ログカテゴリ | ログカテゴリのリストに評価します |
| Unreal ログの詳細度 | ログの詳細度レベルのリストに評価します |
| Unreal テンプレートマクロを置き換える | Unreal テンプレートマクロを置き換えます |
| const を含む型名を含む | const 指定子付きの最も内側にある型の短い名前に評価されます |
| 関数パラメーターリストを含む | 包含関数のパラメーター名のコンマ区切りリストに評価されます |
| ドキュメント: 名前付き関数パラメーター型 | 各関数パラメーターごとにテンプレート行を複製し、型と名前を含むパラメーター型に評価します |
| ドキュメント: 関数パラメーター名 | 各関数パラメーターごとにテンプレート行を複製し、パラメーター名に評価します |
| ドキュメント: 関数パラメーター型 | 各関数パラメーターごとにテンプレート行を複製し、パラメーター型になります |
| ドキュメント: 関数の戻り値 | 関数の戻り値の型が void でない場合にのみ、含まれているテンプレート行を保持します |
| ドキュメント: テンプレートパラメーター名 | 各テンプレートパラメーターごとにテンプレート行を複製し、テンプレートパラメーター名に評価します |
| ドキュメント: マクロパラメーター名 | 各マクロパラメーターごとにテンプレート行を複製し、マクロパラメーター名に評価します |
| ドキュメント: 関数の戻り値の型 | 関数の戻り値の型を評価します |
| ドキュメント: エンティティの短い名前 | ドキュメント化されているエンティティの短い名前に評価します |
| ドキュメント: エンティティ修飾名 | ドキュメント化されているエンティティの修飾名を評価します |
| 列挙型から文字列: 列挙子名 | 各列挙子ごとにテンプレート行を複製し、列挙子名に評価します |
| 列挙型から文字列: 文字列としての列挙子名 | 各列挙子ごとにテンプレート行を複製し、列挙子名を持つ文字列に評価します |
| 列挙型から文字列: Enum 名 | アクションが呼び出される列挙型の名前 |
| ドキュメントおよび列挙型から文字列へのテンプレートにおける改行 | ドキュメントおよび列挙型から文字列へのテンプレートの改行に評価します |
| ファイルヘッダー (C++) | 設定で指定されたファイルヘッダーを挿入します |
| プリコンパイル済みヘッダーファイル include ディレクティブ | プロジェクトがプリコンパイル済みヘッダーを使用しない場合は、プリコンパイル済みヘッダーファイルの include ディレクティブまたは空の文字列に評価されます |
| 完全なタグ名 | 含まれているタグの完全な名前を挿入します |
| タグによる XML 属性名の提案 | 現在のドキュメントの同じタグで使用されている XML 属性名を提案します |
| XML 属性名を提案する | 現在のドキュメントで使用されている XML 属性名を提案します |
| XML タグ名を提案する | 現在のドキュメントで使用されている XML タグ名を提案します |
| タグ名 | 名前空間を含まないタグの名前を挿入します |
| タグ名前空間 | 含まれているタグの名前空間を挿入します |
| 必要な型にキャストします(キャストが必要な場合) | 代入式の左辺で期待される型へのキャストを(必要であれば)挿入します |
| ファイルヘッダー | 設定で指定されたファイルヘッダーを挿入します |
| テスト対象 | テスト用に生成されるクラスの型を挿入します |
| タグによる属性名の提案 | 現在のドキュメントの同じタグで使用されている属性名を提案します |
| 属性値を提案する | 現在の HTML タグ属性の属性値を提案します |
| タグ名を提案する | 現在のドキュメントで使用されているタグ名を提案します |
| ASP.NET Masterpage コンテンツジェネレーター | 変数が評価される時点でマスターページコンテンツプレースホルダーの内容を生成する |
| ASP.NET MVC アクション | 変数が評価される時点で利用可能な ASP.NET MVC アクションが表示された補完リストを表示します |
| ASP.NET MVC コントローラー | 変数が評価される時点で利用可能な ASP.NET MVC コントローラーが表示された補完リストを表示します |
| サーバー側のタグが選択されている場合は runat="server" を挿入します | サーバー側タグが選択されている場合は runat="server" を挿入します |