ReSharper 2024.3 ヘルプ

テンプレートパラメーター

コードテンプレートの本体には、次のものが含まれます。

  • ソースコードの構造とコメントを表すプレーンテキスト。テンプレートを適用するとそのまま挿入されます。

  • テンプレートを適用すると動的に置き換えられるテンプレートパラメーター。テンプレートパラメーターの形式は次のとおりです。

    $PARAM_NAME$ - ここで、PARAM_NAME は任意の識別子です。

    形式が正しい場合、テンプレートエクスプローラーウィンドウは事前定義されたパラメーターを濃い青でハイライトし、その他のパラメーターを濃い赤でハイライトします。

    ReSharper: Template parameters

定義済みのパラメーター

次のテンプレートパラメーターは、ReSharper で事前定義されています。

  • $END$ — テンプレートが適用された後のキャレットの位置。

  • $SELECTION$ — テンプレートを呼び出す前にユーザーが選択したテキスト。このパラメーターは、囲みテンプレートでのみ使用されます。

  • $SELSTART$ — テンプレートの適用に選択されるテキストブロックの開始位置。

  • $SELEND$ — テンプレートの適用に選択されるテキストブロックの終了位置。

ユーザ定義のパラメーター

テンプレートを作成または編集するときに、他のすべてのパラメーターを任意の識別子で定義できます。通常、テンプレートを適用するときに値を計算するためのマクロをパラメーターに指定する必要があります。

また、各パラメーターを編集可能にして、テンプレートの適用時にユーザーがその値を変更できるようにすることもできます。

編集可能なパラメーター

コードテンプレートに編集可能なパラメーターがない場合、ユーザーの操作なしですぐに適用されます。編集不可能なパラメーターがある場合は、マクロを使用して自動的に計算されます(たとえば、固定値、現在のネームスペース、型名、クリップボードのコンテンツを挿入することによって)。

テンプレートコードをソースコードに挿入した後、テンプレート開発者が $END$ または $SELEND$ パラメーターで指定した位置に入力を再開しますが、挿入されたコードの一部を変更する必要がある場合は、戻って編集してください。

対照的に、編集可能なパラメーターは変更が必要なフィールドを公開します。しばしば、基礎となるマクロによってフィールドに対して合理的な選択肢が提案されます。ReSharper に精通すると、あらかじめ定義されたテンプレートの多くに編集可能なパラメーターがあることがわかります。また、テンプレートを作成および編集するセクションを勉強して、編集可能なパラメーターでカスタムテンプレートを作成および編集する方法を学ぶことができます。

例: コンテナーのすべての要素に対する反復のためのうまく設計されたテンプレートは、編集可能なパラメーターを使用して以下を選択できます。

  • ループ索引変数の適切な名前(たとえば、i または j)。

  • 反復されたコンテナーの式として、現在のスコープ内の指定された型(たとえば、配列またはリスト)のすべての変数のリスト。

  • 反復中に現在のコンテナー要素を保持する、割り当てられた変数の適切な名前。

  • 反復されたコンテナー内の要素の型。

編集可能なパラメーターを持つテンプレートが適用されると、ReSharper はホットスポットセッションをエディターにデプロイします。このセッションでは、すべてのパラメーターの値を段階的に指定または選択できます。パラメーターを入力に置き換えるか、提案された値の 1 つを受け入れることができます。

編集可能なパラメーターでテンプレートを適用する例は、ライブテンプレートを使用したソースコードの作成およびテンプレートで周囲のコードフラグメントのセクションに記載されています。

関連ページ:

テンプレートエクスプローラーウィンドウ

テンプレートエクスプローラーウィンドウには、すべてのコードテンプレートが一覧表示され、作成、編集およびコードテンプレートの管理に必要なコントロールが提供されます。このウィンドウには、3 種類の ReSharper テンプレートを管理するための 3 つのタブがあります。ライブテンプレート:このタブはライブテンプレートを管理するために使用されます。さまざまな言語で利用可能なテンプレートを参照できます。左側にはテンプレートスコープとユーザーカテゴリがあり、右側には選択したスコープとカテゴリでフィルター...

コードフラグメントをテンプレートで囲む

サラウンドテンプレートは、式、単一のステートメント、または任意のコードブロックを、またはその他のコード構造ですばやく囲むために使用されます。テンプレートが拡張されると、ReSharper はコードをインテリジェントに再フォーマットし、選択を調整し、最後にキャレットを再配置して、便利な位置から入力を続行できるようにします。ReSharper は、サポートされているすべての言語で多数のサラウンドテンプレートをすぐに使用できますが、特定のケースに合わせてサラウンドテンプレートを作成することもできます。...

定義済みテンプレートのリスト

このセクションでは、事前定義済みのすべてのコードテンプレートを一覧表示します。事前定義済みのテンプレートは、C#、VB.NET、ASP.NET、XML、HTML、Razor、CSS、JavaScript、TypeScript、Resx コードの最も一般的なケースを網羅しています。以下のセクションでは、定義済みのテンプレートの説明はタイプと言語によってソートされています。Predefined live templates、Predefined surround templates、Predefin...

テンプレートパラメーターを宣言する

コードテンプレートは、周囲のコンテキストに合わせて調整したり、適用時にインタラクティブに動作したりすることもできます。これはすべて、テンプレートパラメーターとテンプレートマクロを使用して行われます。テンプレートエディターでテンプレートパラメーターを定義および編集できます。パラメーター(接頭辞と接尾辞が)を入力するとすぐに、テキスト領域の右側のパラメーターセクションで使用できるようになります。次に、マクロを選択をクリックしてその動作を構成できます。テンプレート内の任意のパラメーターを複数回使用でき...

テンプレートスコープ

ReSharper は、コードテンプレートを利用できる範囲をいくつか定義します。スコープは、特定のコードテンプレートの使用を関連するコンテキストに限定できます。例: 定義済みのライブテンプレート itar(配列の反復) は、デフォルトで C# 2.0+ ステートメントで使用できます。これは、この特定のスコープがこのテンプレートに対して定義されていることを意味します。itar テンプレートは C# ステートメントの本文に適用できますが、メンバーの外側の C# クラスの本文や、たとえば XML ファイルに...