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