ReSharper 2024.3 ヘルプ

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

ライブテンプレートは、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 popup with the list of live templates

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

ReSharper: Creating live templates

候補リストを減らす

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

Popup with suggested templates

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

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

ReSharper: Creating live templates

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

'itar' template expanded

itar には編集可能なパラメーターがあるため、ReSharper はエディターにホットスポットセッションをデプロイしてガイドすることに注意してください。これは、このテンプレートの最初の入力位置であるハイライトされた index パラメーターによって認識できます。ReSharper は、インデックス変数の名前として i を自動的に提案しました。提案された値を変更する場合は、新しい名前を入力してください。新しい名前を入力すると、デプロイされたテンプレート内の変数へのすべての参照が同時に変更されます。インデックス変数に i の代わりに idx という名前を付けましょう:

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

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

ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語およびフレームワークセクションの対応するトピックを参照してください。

関連ページ:

事前定義されたライブテンプレート

このトピックでは、ReSharper 2024.3 で事前定義されたすべてのライブテンプレートを一覧表示します。ライブ / 囲みテンプレートは、既存のファイルにコードを生成したり、(テンプレート本体にパラメーターがある場合)ステートメントなどのテンプレートコードでコードフラグメントを囲むために使用できます。各ライブテンプレートは、ショートカット(などの短い文字列)によって識別されます。この文字列をエディターに直接入力して、テンプレートを呼び出すことができます。ライブテンプレートのインデックス:...

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

このトピックでは、ReSharper 2024.3 の C# の事前定義されたライブテンプレートをすべてリストします。ライブテンプレートの詳細については、「ライブテンプレートを使用してソースコードを作成する」を参照してください。現在のファイルコンテキストどこでもスコープ本文 $CTX$ パラメーター - 現在のコンテキストを説明するアイテムのリストを提供します。これには、型名、名前空間名などを含むファイル名が含まれます。このテンプレートは役に立つかもしれません: 現在のコンテキストへの参照を含む文字列リ...

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

ReSharper を使用すると、シンボルの種類、アクセス修飾子などを使用して補完候補をフィルター処理できます。コード補完が呼び出されるたびに適用されたフィルターのセットを変更したり、フィルターの状態を保持することを選択したりできます。デフォルトでは、ReSharper は補完ポップアップの下部にフィルターバーを表示します。このバーでは、フィルターの状態を確認し、アイコンをクリックして特定のフィルターを有効または無効にできます。必要に応じて、ReSharper オプションのページでフィルターバー...

ライブ / 囲みテンプレートを作成する

ライブ / 囲みテンプレートは、既存のファイルにコードを生成したり、(テンプレート本体にパラメーターがある場合)ステートメントなどのテンプレートコードでコードフラグメントを囲むために使用できます。各ライブテンプレートは、ショートカット(などの短い文字列)によって識別されます。この文字列をエディターに直接入力して、テンプレートを呼び出すことができます。ライブ / 囲みテンプレートは、単体テスト用のクラス、DTO、スケルトンの作成など、さまざまな用途に使用できます。ライブ / 囲みテンプレートの本体...

ASP.NET MVC 特有の機能

ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...

言語による ReSharper: MSBuild

MSBuild は、アプリケーションを構築するために広く使用されているプラットフォームです。特定の XML タグを使用して、プロジェクトの構築方法や実行方法を定義できます。ReSharper を使用すると、より速く行うことができます。コード検査:あらかじめ定義された要素またはその属性の名前を誤って入力した場合、ReSharper はそのような不一致についてハイライト表示します。まだ定義されていないプロパティを参照しようとすると、ReSharper はそのようなケースも検出します。MSBuild...