ReSharper 2020.2ヘルプ

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

ReSharper | 編集 | ライブ・テンプレートの挿入…
Control+J
ReSharper_LiveTemplatesInsert

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

ReSharperは、サポートされているすべての言語用に事前定義されたライブテンプレートを豊富に提供します。事前定義テンプレートのリストには、コレクションの反復、アサーションメソッドの記述、新しい配列の作成、値の出力、LINQクエリのコーディング、自動プロパティの生成などのテンプレートが含まれています。

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

  1. テキストエディターで、ライブテンプレートからコードフラグメントを挿入するキャレットを設定します。

  2. 以下のいずれか 1 つを実行します:

    • テンプレートのショートカットまたはその頭文字を入力します。例:C#メソッドで、itar と入力して、配列テンプレートの反復を呼び出します。

    • Control+J を押すか、メインメニューのReSharper | 編集 | ライブ・テンプレートの挿入…を選択し、候補リストからテンプレートを選択して、Tab または Enterを押します。

  3. テンプレートに編集可能なパラメーターがある場合(つまり、ユーザー入力が必要な場合)、ReSharperはホットスポットセッションをエディターにデプロイし、最初のパラメーターに入力位置を設定します。次に、次の操作を実行できます。
    • ReSharperが現在のパラメータの値を提案している場合は、UpDown の矢印キーを使用して推奨値のリストをナビゲートするか、目的の値を入力してください。

    • Tab または Enter を押して値を受け入れ、次のパラメータの入力位置に移動します。これが最後のパラメータである場合、ホットスポットセッションは完了し、キャレットはセッション用に定義された終了位置に移動します。

    • Shift+Tab を押すと、入力フォーカスが前のパラメータの入力位置に移動します。

    • Esc を押してホットスポットセッションを終了します。この場合、すべてのセッションパラメータはデフォルト値で初期化されます。

ライブテンプレートが一般的にどのように適用されるかを示すいくつかの例を以下に示します。

ショートカットでテンプレートを適用する

Main メソッドを配置する場所に psvmpublic static void Mainテンプレートのショートカット)を入力します。

A pop-up suggesting the 'psvm' template

Tab を押してテンプレートを展開します:

ReSharper: Creating live templates

候補リストからテンプレートを選択する

アサーションメソッドの挿入が適切な位置にキャレットを設定し、Control+Jを押します。

A pop-up with the list of live templates

候補リストでasrtを選択した後、Enter または Tabを押します。

ReSharper: Creating live templates

候補リストを減らす

Control+Jを押し、it と入力し、ショートカットが 'it' で始まるテンプレートを選択します。

Pop-up with suggested templates

編集可能なパラメーターでテンプレートを適用する

itar (配列の反復)は、配列を反復するためのコードを含むテンプレートのショートカットです。そのような反復が適切な場所にこのショートカットを入力します。

ReSharper: Creating live templates

Tab (テンプレート呼び出しキー)を押すと、テンプレートが展開され、itar がテンプレートコードに置き換えられます。ReSharperは、コンテキストに基づいて推奨値を計算し、対応するテンプレートパラメータに挿入します。

'itar' template expanded

itar には編集可能なパラメーターがあるため、ReSharperはホットスポットセッションをエディターにデプロイしてガイドします。このテンプレートの最初の入力位置であるインデックスパラメータの周囲に赤い枠があることで、それを認識できます。ReSharperは、インデックス変数の名前として i を自動的に提案しました。推奨値を変更する場合は、新しい名前を入力してください。新しい名前を入力すると、デプロイされたテンプレート内の変数へのすべての参照が同時に変更されます。次の図では、iidxに変更されています。

Changing template parameter in the template editing mode

現在の入力位置で提案を変更したかどうかにかかわらず、Tab または Enter を押すと、テンプレートの次の編集可能なパラメータの入力位置にキャレットが移動します。

Moving to the next template parameter

ReSharperは、スコープ内のすべての配列変数を自動的に検出し、そのうちの1つ(つまり、最後に宣言された配列変数)を選択するように提案しました。スコープ内に配列要素が1つしかない場合、ReSharperは自動的に名前を挿入します(リストをポップアップすることなく)。次のキーを使用して、ポップアップ候補リストを制御できます。

  • UpDown の矢印キーを使ってリストをナビゲートしてください。

  • Esc を使用してリストを閉じ、たとえば、自分の getArray() メソッド呼び出しをこの位置に入力します。

  • Tab または Enter を押して選択/指定したオプションを適用し、次のパラメータの入力位置に移動します。

ReSharperは、配列要素の型の変更を検出します。現在の配列要素を保持する変数の型を自動的に更新し、適切な名前を提案します。

Viewing template parameter suggestions

最後の入力パラメーターを入力した後、Tab または Enter を押して、キャレットをテンプレートの指定された終了位置に移動します。

Template editing mode is closed and the caret moved automatically to the end position

多くの場合、ReSharperによって提案されたデフォルト値が受け入れられることがあります。キーストロークが非常に少ない場合でも、すぐにループ本体の作成に進むことができます。

この機能は、次の言語とテクノロジーでサポートされています。

Language: C#Language: VB.NETLanguage: C++Language: HTMLLanguage: ASP.NETLanguage: RazorLanguage: JavaScriptLanguage: TypeScriptLanguage: CSSLanguage: XMLLanguage: XAMLLanguage: ResxLanguage: Build ScriptsLanguage: ProtobufLanguage: JSON
Feature is available in C#Feature is available in Visual Basic .NETFeature is available in C++Feature is available in HTMLFeature is available in ASP.NETFeature is available in RazorFeature is available in JavaScriptFeature is available in TypeScriptFeature is available in CSSFeature is available in XMLFeature is available in XAMLFeature is available in Resource filesFeature is available in build script filesFeature is not available in ProtobufFeature is not available in JSON

C#の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語によるReSharperの対応するトピックを参照してください。

最終更新日: 2020年8月21日

関連ページ:

定義済みライブテンプレート

ReSharper | ツール | テンプレートエクスプローラー | ライブ・テンプレートこのセクションでは、ReSharper 2020.2で定義済みのすべてのLiveテンプレートを一覧表示します。ライブ/サラウンドテンプレートは、既存のファイルでコードを生成するために、および(テンプレート本体に...

C#の定義済みライブテンプレート

ReSharper | テンプレートエクスプローラー | ライブ・テンプレート | C#このトピックでは、ReSharper 2020.2のC#の定義済みのライブテンプレートをすべて示します。ライブテンプレートの詳細については、ライブテンプレートを使用してソースコードを作成するを参照してください。現...

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

コードテンプレートの本体には、次のものが含まれます。ソースコードの構造とコメントを表すプレーンテキスト。テンプレートを適用するとそのまま挿入されます。テンプレートを適用すると動的に置き換えられるテンプレートパラメータ。テンプレートパラメータの形式は次のとおりです。-は任意の識別子です。形式が正しい場...

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

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

コード補完でのフィルタの使用

ReSharperを使用すると、シンボルの種類、アクセス修飾子などを使用して補完候補をフィルタ処理できます。コード補完が呼び出されるたびに適用されたフィルタのセットを変更したり、フィルタの状態を保持することを選択したりできます。デフォルトでは、ReSharperは完了のポップアップの下部にフィルター...

ライブ/サラウンドテンプレートを作成する

ライブ/サラウンドテンプレートは、既存のファイルでコードを生成するために、および(テンプレート本体にパラメーターがある場合)ステートメントなどのテンプレートコードでコードを囲むために使用できます。各ライブテンプレートはショートカット(foreachなどの短い文字列)で識別され、エディターで直接入力し...