ReSharper 2019.3ヘルプ

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

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

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

  • テンプレートを適用すると動的に置き換えられるテンプレートパラメータ。テンプレートパラメータの形式は次のとおりです。
    $PARAM_NAME$ - PARAM_NAME は任意の識別子です。
    フォーマットが正しければ、テンプレートエクスプローラーウィンドウは暗い青色で定義済みのパラメータを強調表示し、他のパラメータは濃い赤色で強調表示します。

    ReSharper: Template parameters

定義済みのパラメータ

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

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

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

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

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

ユーザ定義のパラメータ

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

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

編集可能なパラメータ

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

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

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

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

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

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

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

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

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

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

最終更新日: 2019年12月12日

関連ページ:

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

テンプレートエクスプローラーウィンドウにはすべてのコード・テンプレートが一覧表示され、作成、編集およびコードテンプレートの管理に必要なコントロールが提供されます。このページでは、テンプレートエクスプローラーウィンドウのユーザーコントロールについてのみ説明しています。定義済みのコードテンプレートの詳細...

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

コードを波括弧または丸括弧で囲むだけの場合は、コードブロックまたは式を選択し、開始または終了を入力して波括弧で囲むか、開始または終了を入力して選択範囲を丸括弧で囲みます。サラウンドテンプレートを使用して、式、単一のステートメント、または任意のコードブロックを,または他のコード構造ですばやく囲みます。...

定義済みのテンプレート

このセクションでは、事前定義済みのすべてのコードテンプレートを一覧表示します。事前定義済みのテンプレートは、C#、VB.NET、ASP.NET、XML、HTML、Razor、CSS、JavaScript、TypeScript、およびResxコードの最も一般的なケースを網羅しています。以下のセクション...

テンプレートパラメータの宣言

コードテンプレートは周囲の状況に合わせて調整したり、適用したときに対話的に動作したりすることもできます。これはすべてテンプレートパラメータとテンプレートマクロで行われます。テンプレート・エディターでテンプレートパラメータを定義および編集できます。パラメータ(の接頭辞と接尾辞)を入力すると、すぐにテキ...

ライブテンプレートを使用してソースコードを作成する

ライブテンプレートはVisual StudioのコードスニペットのReSharperのはるかにインテリジェントなバージョンです。コードスニペットとは異なり、ReSharperのテンプレートはコンテキストからどの変数、フィールド、タイプが使用できるかを予測できます。ほとんどの場合、自分で何か入力する必...

ホットスポットセッション

ReSharperの多くの機能は、エディターでコードのブロックを挿入または置換します。このブロックを完了するためにユーザー入力が必要な場合、これらの機能は多くの場合インタラクティブに機能するため、ReSharperはコードブロックの挿入直後に利用可能なすべての提案と変更をガイドします。これが発生する...