ReSharper 2020.3 ヘルプ

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

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

Live templates are ReSharper's far more intelligent version of Visual Studio's code snippets. Unlike code snippets, ReSharper's templates can predict from the context, which variables, fields, and types can be used. In most cases you do not need to type anything yourself — just choose from a list of suggested values.

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

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

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

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

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

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

  3. テンプレートに編集可能なパラメーターがある場合(つまり、ユーザー入力が必要な場合)、ReSharper はエディターにホットスポットセッションをデプロイし、最初のパラメーターに入力位置を設定します。次に、次のことを実行できます。
    • If ReSharper suggests some values for the current parameter, use UpDown arrow keys to navigate through the list of suggested values, or just type in a desired value.

    • 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 がエディターでホットスポットセッションをデプロイして案内します。これは、このテンプレートの最初の入力位置である index パラメーターの周囲に赤い枠があることでわかります。ReSharper は自動的に i をインデックス変数の名前として提案しました。推奨値を変更したい場合は、新しい名前を入力してください。新しい名前を入力すると、デプロイされたテンプレート内の変数への参照はすべて同時に変更されます。次の図では、iidx に変更されています。

Changing template parameter in the template editing mode

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

Moving to the next template parameter

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

  • Use UpDown arrow keys to navigate through the list.

  • 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 の対応するトピックを参照してください。

関連ページ:

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

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

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

このトピックでは、ReSharper 2020.3 の C# の定義済みのライブテンプレートをすべて示します。ライブテンプレートの詳細については、ライブテンプレートを使用してソースコードを作成するを参照してください。現在のファイルコンテキストいたるところにスコープ本文$CTX$

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

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

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

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

ASP.NETMVC 固有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト :ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト:コード補完 :文字列リテラルでアクションとコントローラーを...

言語による ReSharper: MS ビルド

MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。ビルドスクリプトファイルで ReSharper 機能を無効にするに...