テンプレートパラメーター
コードテンプレートの本体には、次のものが含まれます。
ソースコードの構造とコメントを表すプレーンテキスト。テンプレートを適用するとそのまま挿入されます。
テンプレートを適用すると動的に置き換えられるテンプレートパラメーター。テンプレートパラメーターの形式は次のとおりです。
$PARAM_NAME$
- ここで、PARAM_NAME
は任意の識別子です。形式が正しい場合、テンプレートエクスプローラーウィンドウは事前定義されたパラメーターを濃い青でハイライトし、その他のパラメーターを濃い赤でハイライトします。
定義済みのパラメーター
次のテンプレートパラメーターは、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 ファイルに...