ReSharper 2019.3ヘルプ

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

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

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

ReSharperは、サポートされているすべての言語用にpredefined live templatesを多数提供しています。定義済みテンプレートのリストには、コレクションの繰り返し、アサーションメソッドの作成、新しい配列の作成、値の出力、LINQクエリのコーディング、自動プロパティーの生成などのテンプレートが含まれています。

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

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

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

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

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

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

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

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

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

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

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

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

A pop-up suggesting the 'psvm' template

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

ReSharper: Creating live templates

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

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

A pop-up with the list of live templates

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

ReSharper: Creating live templates

候補リストを減らす

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

Pop-up with suggested templates

編集可能なパラメータを含むテンプレートの適用

itar(配列の反復)は、配列を反復処理するためのコードを含むテンプレートのショートカットです。このような繰り返しが適切な場合は、このショートカットを入力してください。

ReSharper: Creating live templates

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

'itar' template expanded

itar には編集可能なパラメータがあるため、ReSharperがエディターでホットスポットセッションをデプロイして案内します。これは、このテンプレートの最初の入力位置であるindexパラメータの周囲に赤い枠があることでわかります。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 availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is availableFeature is not availableFeature is not available

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

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

関連ページ:

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

このセクションでは、ReSharper 2019.2で定義済みのすべてのLiveテンプレートを一覧表示します。ライブ/サラウンドテンプレートは、既存のファイルにコードを生成するために使用できます(テンプレート本文にパラメーターがある場合)。ステートメントなど、テンプレートコードでコードフラグメントを...

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

このトピックでは、ReSharper 2019.3のC#の定義済みのライブテンプレートをすべて示します。ライブテンプレートの詳細については、ライブテンプレートを使用してソースコードを作成するを参照してください。スコープC# 2.0+本文[Foo("$member$")]パラメーター- 最も内側にある...

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

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

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

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

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

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

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

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