JetBrains Rider 2024.1 ヘルプ

テンプレートマクロ

コードテンプレートを適用すると、JetBrains Rider はいくつかの値でテンプレートパラメーターを初期化します。これらの値を計算するために、テンプレートマクロを使用します。テンプレートマクロは、周囲のコンテキスト(たとえば、現在のファイル名、現在のソリューション名、名前空間、クリップボードコンテンツなど)に基づいて多くの有用なデータを取得できます。さらに、マクロはコード補完アクションを呼び出し、型、変数、タグなどを推測および提案できます。

新しいテンプレートパラメーターを宣言するとすぐに、パラメーターが変数の編集ダイアログに表示されます。このダイアログでは、パラメーターのマクロを選択することもできます。ソーステンプレートを作成する場合、マクロは [Macro] 属性を使用して指定されます。

一部のマクロは、必要なアイテムを提供するだけです。例: 現在のソリューション名またはタグ名を提案する他のマクロには独自のパラメーターがあり、指定する必要があります。たとえば、テンプレートパラメーターにの変数を提案するマクロを選択した場合、対応するマクロパラメーターの型を指定する必要があります。

テンプレートパラメーターにマクロを定義しない場合、テンプレートを適用するときにパラメーター名が挿入されます。パラメーターが編集可能な場合、ユーザーはこの名前を編集することを提案されます。

テンプレートマクロの使用箇所を把握する最良の方法は、JetBrains Rider の事前定義済みテンプレートの豊富なセットを調べることです。

テンプレートマクロのリスト

次の表に、.NET 固有のテンプレートの変数に使用できるすべてのマクロを示します。

列には、[Macro(Target = "myVariable", Expression = "suggestVariableName()")] などのソーステンプレートで使用できるマクロ式がリストされています。

説明列には、ユーザーインターフェースでテンプレート変数を作成または編集したときにマクロを選択ダイアログに表示されるマクロが一覧表示されます。

説明

詳細

guessElementType()

変数で表されるコレクションの要素型を推測する

コレクションの要素のコードと推測のタイプを分析します。

マクロパラメーター:

  • variable - テンプレート内の別のパラメーターへの参照

suggestIndexVariable()

インデックス変数の名前を提案する

評価ポイントでのインデックス変数の一意の名前を提案します

    getAlphaNumericFileNameWithoutExtension()

    拡張子なし、英数字以外のすべての文字をアンダースコアに置き換えた現在のファイル名

    現在のファイル名を拡張子なしで評価し、英数字以外のすべての文字をアンダースコアに置き換えます

      getAlphaNumericMainFileNameWithoutExtension()

      英数字以外のすべての文字をアンダースコアに置き換えた、拡張子のないプライマリファイルの名前

      拡張子を付けず、英数字以外のすべての文字をアンダースコアに置き換えたプライマリファイル名に評価します。

        arrayVariable()

        配列変数を提案する

        型が配列型の変数を提案します

          fixedTypeName()

          への参照を挿入する

          選択したタイプ名に評価します

          マクロパラメーター:

          • 型式

          capitalize()

          最初の文字が大文字の別の変数の値

          文字列値を大文字にする (つまり、最初の文字を大文字に変更します)

          マクロパラメーター:

          • 別の変数 - テンプレート内の別のパラメーターへの参照

          clipboard()

          クリップボードの内容

          現在のテキストクリップボードコンテンツを評価します

            complete()

            基本補完を実行する

            変数が評価されるポイントで基本コード補完リストを表示します

              completeSmart()

              スマートな補完を実行する

              変数が評価されるポイントでスマートコード補完リストを表示します

                completeType()

                型の補完を実行する

                変数が評価される時点で型補完リストを表示します

                  constant()

                  一定値

                  指定された定数値に評価します

                  マクロパラメーター:

                  • 一定値 - テキスト文字列

                  typeMember()

                  タイプメンバー名を含む

                  最も内側にある型メンバーの短い名前に評価されます (たとえばメソッドまたはプロパティ)

                    typeName()

                    タイプ名を含む

                    最も内側にある型の短い名前に評価されます

                      typeRef()

                      包含参照型

                      最も内側にある型の参照に評価します

                        context()

                        現在のコンテキストを説明する項目のリスト

                        現在のコンテキストを説明するアイテムのリストを提供します。これには、型名、名前空間名などを含むファイル名が含まれます。

                          getCreationTime()

                          ファイルが指定された形式で作成された日時

                          現在のファイルのファイル作成日時に評価します

                          マクロパラメーター:

                          • フォーマット - テキスト文字列

                          getCurrentDate()

                          指定した形式の現在の日付

                          評価の結果は、現在日付になります

                          マクロパラメーター:

                          • フォーマット - テキスト文字列

                          getCurrentTime()

                          指定された形式の現在の日付と時刻

                          現在の日付と時刻に評価します

                          マクロパラメーター:

                          • フォーマット - テキスト文字列

                          getCurrentNamespace()

                          名前空間を含む

                          含まれている名前空間の名前に評価されます

                            decapitalize()

                            最初の文字が小文字の別の変数の値

                            文字列値を切り捨てる (つまり、最初の文字の大文字と小文字を小文字に変更します)

                            マクロパラメーター:

                            • 別の変数 - テンプレート内の別のパラメーターへの参照

                            getDefaultNamespace()

                            デフォルトの名前空間

                            現在のプロジェクトのデフォルトの名前空間に評価されます

                              fileDefaultNamespace()

                              現在のファイルのデフォルトネームスペース

                              現在のファイルのデフォルトの名前空間に評価します

                                getFileName()

                                現在のファイル名

                                現在のファイル名に評価されます

                                  getFileNameWithoutExtension()

                                  現在の拡張子のないファイル名

                                  拡張子なしの現在のファイル名に評価します

                                    getFullUserName()

                                    現在のユーザーの完全なユーザー名

                                    現在のユーザーのフルネームに評価されます

                                      guessExpectedElementType()

                                      予想されるコレクションタイプの推測要素タイプ

                                      この時点でコレクション型が予想される場合、要素型を推測します

                                        guessExpectedType()

                                        この時点で予想される推測タイプ

                                        この時点で予想される型を推測します

                                          guid()

                                          新しい GUID

                                          新しいグローバル一意識別子を生成します (GUID)

                                            lineNumber()

                                            現在行番号

                                            マクロが評価される行の番号に評価します

                                              list()

                                              コンマで区切られた値のリスト

                                              補完リストで指定された値のリストを表示します

                                              マクロパラメーター:

                                              • コンマで区切られた値のリスト - テキスト文字列

                                              コンマ(,)を値としてリストに追加するには、バックスラッシュ(\)でエスケープします。

                                              getOutputName()

                                              現在のプロジェクト出力アセンブリ名

                                              現在のプロジェクトの出力アセンブリ名に評価されます

                                                parameterOfType()

                                                のパラメーターを提案する

                                                指定された型のパラメーターを提案します

                                                マクロパラメーター:

                                                • 型式

                                                getProjectName()

                                                現在のプロジェクトの名前

                                                現在のプロジェクト名に評価されます

                                                  getSolutionName()

                                                  現在のソリューション名

                                                  現在のソリューション名に評価されます

                                                    spacestounderstrokes()

                                                    スペースが '_' で置き換えられる別の変数の値

                                                    スペースをアンダースコアに変更します (つまり、「何か役に立つことをする」は「do_something_useful」になります。)

                                                    マクロパラメーター:

                                                    • 別の変数 - テンプレート内の別のパラメーターへの参照

                                                    enumerableVariable()

                                                    列挙変数を提案する

                                                    列挙可能な可視変数を提案します (つまり、foreach ループでコレクションとして使用されます)

                                                      suggestVariableName()

                                                      変数の名前を提案する

                                                      変数宣言 (変数名が立つべき場所) で実行されると、変数の名前を提案します

                                                        variableOfType()

                                                        の変数を提案する

                                                        指定された型の変数を提案します

                                                        マクロパラメーター:

                                                        • 型式

                                                        suggestVariableType()

                                                        新しい変数の型を提案する

                                                        テンプレートで宣言された新しい変数の型を提案します

                                                          getUpperCaseAlphaNumericFileName()

                                                          英数字以外のすべての文字をアンダースコアに置き換えた大文字の現在のファイル名

                                                          現在のファイル名を大文字で評価し、英数字以外のすべての文字をアンダースコアに置き換えます

                                                            getUserName()

                                                            現在のユーザーの略称

                                                            現在のユーザー名に評価されます

                                                              nameOfEntity()

                                                              エンティティの名前

                                                              可能な場合は「nameof(entity)」、そうでない場合は「entity」に評価されます

                                                                dependencyPropertyType()

                                                                DependencyProperty 型

                                                                現在のフレームワークに固有の依存関係プロパティの型に評価します

                                                                  fullTagName()

                                                                  完全なタグ名

                                                                  含まれているタグの完全な名前を挿入します

                                                                    suggestXmlAttributeNameByTag()

                                                                    タグによる XML 属性名の提案

                                                                    現在のドキュメントの同じタグで使用されている XML 属性名を提案します

                                                                      suggestAttributeName()

                                                                      XML 属性名を提案する

                                                                      現在のドキュメントで使用されている XML 属性名を提案します

                                                                        suggestXmlTagName()

                                                                        XML タグ名を提案する

                                                                        現在のドキュメントで使用されている XML タグ名を提案します

                                                                          tagName()

                                                                          タグ名

                                                                          名前空間を含まないタグの名前を挿入します

                                                                            tagNamespace()

                                                                            タグ名前空間

                                                                            含まれているタグの名前空間を挿入します

                                                                              castToLeftSideType()

                                                                              必要な型にキャスト (キャストが必要な場合)

                                                                              代入式の左側で期待される型へのキャストを (必要に応じて) 挿入します

                                                                                fileheader()

                                                                                ファイルヘッダー

                                                                                設定で指定されたファイルヘッダーを挿入します

                                                                                  TestSubject()

                                                                                  テスト対象

                                                                                  テストが生成されるクラスのタイプを挿入します

                                                                                    suggestAttributeNameByTag()

                                                                                    タグによる属性名の提案

                                                                                    現在のドキュメントの同じタグで使用されている属性名を提案します

                                                                                      suggestAttributeValue()

                                                                                      属性値を提案する

                                                                                      現在の HTML タグ属性の属性値を提案します

                                                                                        suggestTagName()

                                                                                        タグ名を提案する

                                                                                        現在のドキュメントで使用されているタグ名を提案します

                                                                                          AspMasterpageContentGenerator()

                                                                                          ASP.NET Masterpage コンテンツジェネレーター

                                                                                          変数が評価される時点でマスターページコンテンツプレースホルダーのコンテンツを生成します

                                                                                            AspMvcAction()

                                                                                            ASP.NET MVC アクション

                                                                                            変数が評価される時点で使用可能な ASP.NET MVC アクションを含む補完リストを表示します

                                                                                              AspMvcController()

                                                                                              ASP.NET MVC コントローラー

                                                                                              変数が評価される時点で使用可能な ASP.NET MVC コントローラーを含む補完リストを表示します

                                                                                                runAtServer()

                                                                                                サーバー側のタグが選択されている場合は runat="server" を挿入します

                                                                                                サーバー側タグが選択されている場合は runat="server" を挿入します

                                                                                                  substituteUnrealMacro()

                                                                                                  Unreal テンプレートマクロを置き換える

                                                                                                  Unreal テンプレートマクロを置き換えます

                                                                                                    constTypeName()

                                                                                                    const を含む型名を含む

                                                                                                    const 指定子を使用して、最も内側にある型の短い名前に評価します

                                                                                                      cppFunctionParameterList()

                                                                                                      関数パラメーターリストを含む

                                                                                                      包含関数のパラメーター名のコンマ区切りリストに評価されます

                                                                                                        cppFunctionParameter()

                                                                                                        ドキュメント: 名前付き関数型の型

                                                                                                        各関数パラメーターのテンプレート行を複製し、name を指定してパラメーター型に評価します

                                                                                                          cppFunctionParameterName()

                                                                                                          ドキュメント: 関数のパラメーター名

                                                                                                          各関数パラメーターのテンプレート行を複製し、パラメーター名を評価します

                                                                                                            cppFunctionParameterType()

                                                                                                            ドキュメント: 関数パラメーターの型

                                                                                                            各関数パラメーターのテンプレート行を複製し、パラメーター型に評価します

                                                                                                              cppFunctionReturnValue()

                                                                                                              ドキュメント: 関数の戻り値

                                                                                                              関数の戻り値の型が void でない場合にのみ、包含するテンプレート行を保持します。

                                                                                                                cppTemplateParameterName()

                                                                                                                ドキュメント: テンプレートパラメーター名

                                                                                                                各テンプレートパラメーターに含まれるテンプレート行を複製し、テンプレートパラメーター名

                                                                                                                  cppMacroParameterName()

                                                                                                                  ドキュメント: マクロパラメーター名

                                                                                                                  各マクロパラメーターのテンプレート行を複製し、マクロパラメーター名に評価します

                                                                                                                    cppFunctionReturnType()

                                                                                                                    ドキュメント: 関数の戻り値の型

                                                                                                                    関数の戻り値の型を評価する

                                                                                                                      cppEntityShortName()

                                                                                                                      ドキュメント: 実体の短い名前

                                                                                                                      文書化されているエンティティの短縮名を評価する

                                                                                                                        cppEntityQualifiedName()

                                                                                                                        ドキュメント: エンティティ修飾名

                                                                                                                        文書化されているエンティティの修飾名を評価する

                                                                                                                          cppEnumToStringEnumerator()

                                                                                                                          文字列への列挙: 列挙子名

                                                                                                                          各列挙子の含まれているテンプレート行を複製し、列挙子の名前に評価します

                                                                                                                            cppEnumToStringEnumeratorName()

                                                                                                                            文字列への列挙: 文字列としての列挙子名

                                                                                                                            各列挙子の含まれているテンプレート行を複製し、列挙子の名前を持つ文字列に評価します

                                                                                                                              cppEnumToStringEnum()

                                                                                                                              文字列への列挙: Enum 名

                                                                                                                              アクションが呼び出される列挙型の名前

                                                                                                                                cppExpandableTemplateNewline()

                                                                                                                                ドキュメントの改行と列挙型から文字列へのテンプレート

                                                                                                                                ドキュメントと列挙型から文字列へのテンプレートの改行に評価されます

                                                                                                                                  cppFileheader()

                                                                                                                                  ファイルヘッダー (C++)

                                                                                                                                  設定で指定されたファイルヘッダーを挿入します

                                                                                                                                    cppPchIncludeDirective()

                                                                                                                                    プリコンパイル済みヘッダーファイルインクルードディレクティブ

                                                                                                                                    プロジェクトがプリコンパイル済みヘッダーを使用しない場合は、プリコンパイル済みヘッダーファイルの include ディレクティブまたは空の文字列に評価されます。

                                                                                                                                      asmDefNameMacro()

                                                                                                                                      空白文字を含まない現在のファイル名

                                                                                                                                      空白文字を含まない現在のファイル名を評価します

                                                                                                                                        unityParentTypeName()

                                                                                                                                        現在の親の Unity 型名

                                                                                                                                        現在の親の Unity 型名

                                                                                                                                          bakerNameBasedOnUnityParentTypeName()

                                                                                                                                          親の Unity タイプ名に基づいて Baker 名を生成します

                                                                                                                                          親の Unity タイプ名に基づいて Baker 名を生成します

                                                                                                                                            関連ページ:

                                                                                                                                            Web 固有のテンプレート

                                                                                                                                            このセクションには、HTML、JavaScript、TypeScript などの Web アプリケーションコードの作成に使用できる Web 固有のコードテンプレートのドキュメントが含まれています。Web 固有のライブテンプレートライブテンプレートを作成する、ライブテンプレート変数、ライブテンプレートを共有する、Emmet、Web 固有のファイルテンプレートファイルテンプレート変数、テンプレート内の再利用可能なコンテンツ、ファイルテンプレートを共有する、...

                                                                                                                                            テンプレート変数を宣言する

                                                                                                                                            コードテンプレートは周囲の状況に合わせて調整したり、適用したときに対話的に動作したりすることもできます。これはすべてテンプレート変数とテンプレートマクロで行われます。特定のテンプレートが選択されている場合は、テンプレート設定ページでテンプレート変数を定義および編集できます。変数(接頭辞と接尾辞が)を入力するとすぐに、変数の編集ダイアログで使用できるようになります。次に、マクロを変更をクリックしてその動作を構成できます。テンプレート内の変数は何度でも使用できます。それらの値は、テンプレートが適用さ...

                                                                                                                                            ソーステンプレート

                                                                                                                                            従来、テンプレートまたはスニペットは、ソースコードの外部で保存および管理されていました。通常、テンプレートは汎用定型コードをすばやく作成するのに役立つため、これは理にかなっています。これらの目的のために、JetBrains Rider は多くの事前定義されたライブテンプレート、サラウンドテンプレート、およびファイルテンプレートを提供します。これらのタイプの独自のテンプレートを作成することもできます。ただし、現在のプロジェクトまたはソリューションにのみ関連する繰り返し可能なコードを生成したい場合が...