ReSharper 2021.1 ヘルプ

自動補完

ReSharper の自動補完は、クラス、メソッド、変数、キーワード、以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。ライブテンプレートコード生成の提案単体テストのカテゴリなど、他の多くのコンテキスト固有の提案も補完リストで利用できます。
デフォルトでは、自動補完の提案には、スマート補完およびインポートシンボル補完のアイテムも含まれます。デフォルトの動作を変更する場合は、ReSharper オプション(Alt+R, O)の環境 | IntelliSense | 補完の振る舞いページにある対応するコントロールを使用してください。提案のリストは基本補完のものと同じです。

入力を開始するとすぐに、自動補完の候補リストが表示されます。入力すると、入力した内容に一致する項目のみが表示されます。

デフォルトでは、自動補完は CamelHumps をサポートします。つまり、複合名部分の最初の文字を入力すると、その名前が候補のリストに表示されます。
必要に応じて、ReSharper オプションの環境 | IntelliSense | 補完の振る舞いページで識別子の中間一致チェックボックスをオフにすることにより、キャメルハンプを無効にできます。

ReSharper は、補完候補のリストを作成するときに、どの候補を選択する可能性があるかを把握しようとし、リストで事前選択します。デフォルト設定では、ReSharper は最適な一致を事前に選択し、EnterSpace、さらにドット、括弧を開く、括弧を開く、セミコロンなど(コンテキストに応じて)を押すと挿入できるようになります(コンテキストに応じて)このトピックで後述するとおり。選択した候補が挿入されない文字を指定することもできます。これを行うには、ReSharper オプションの環境 | IntelliSense | 補完文字ページで対応するコントロールを使用します。

自動補完を構成する

自動補完候補は、ReSharper オプションの環境 | IntelliSense | 一般ページで ReSharper またはカスタム IntelliSense および対応する言語が選択されている場合にのみ表示されます。

自動補完の提案は、ReSharper オプション(Alt+R, O)の環境 | IntelliSense | 自動ポップアップページで自動 IntelliSense ポップアップを有効にするがチェックされている場合にのみ表示されます。

ReSharper オプションの環境 | IntelliSense | 自動ポップアップページでは、各言語とコンテキストごとに自動補完の動作を個別に調整することもできます。

言語とコンテキストの組み合わせごとに、次の 3 種類の動作のいずれかを指定できます。

  • 表示しない

  • 表示して事前選択
    候補リストが表示されると、ReSharper は入力しようとしているものを推測し、リストから選択します。提案された項目が正しい場合は、Enter Space を押すだけでなく、ドット、括弧を開く、括弧を開く、セミコロンなど(コンテキストに応じて)を押して、提案された項目を続行します。(選択した補完項目の挿入を設定する方法については、ReSharper オプション | 環境 | IntelliSense | 補完文字を参照してください。)

  • 表示するが、あらかじめ選択しない
    このオプションを使用すると、ポップアップに選択せずに使用可能なアイテムのリストを表示できるため、手動で選択できます。 EnterSpace などを押すと、ポップアップが消え、入力した内容を続行できます。ただし、ポップアップ内の最適な一致は依然として青いフレームでハイライトされており、推測が正しいことがわかった場合は、Ctrl+Enter を押して挿入できます。

例: C# ファイルにドットを入力した後の動作を定義することができます。

Tuning the behavior of ReSharper's automatic completion

以下の例は、各設定の視覚効果を示しています。

ReSharper: Hard/soft selection in the auto-completion popup

キーボードを使用して補完リストで項目を選択すると、選択は最後の項目の後の最初の項目にジャンプし、逆も同様です。ReSharper オプション(Alt+R, O)の環境 | IntelliSense | 補完外観ページでリストの両端の周囲のループ選択をクリアすると、この動作を無効にできます。

補完候補からアイテムを除外する

たとえば、ソリューションにシステムタイプに類似したもの、たとえば MyFramework.MyCollections.List があるが、実際にはそれを使用していない場合など、一部のタイプまたは名前空間を提案しないようにすることができます。このような記号を提案から除外するには、ReSharper オプション(Alt+R, O)のコードインスペクション | 設定 | 自動インポートページのインポートおよび補完から除外リストに追加します。エントリの形式は、Fully.Qualified.NameFully.Qualified.Name.Prefix*、または *Fully.Qualified.Name.Suffix です。ジェネリクス型は List`1 として指定されています。

自動補完の例

次の例を使用すると、さまざまなコード項目で自動補完がどのように機能するかを知ることができます。

type-based 変数名を提案する

一般的に使用されるフィールドや変数の名前は、その型によって異なります。変数名の接頭辞を入力すると、ReSharper はそれをそれぞれの提案された名前に追加します。

ReSharper: Suggesting type-based variable names in code completion
ReSharper オプションのコード編集 | C# | ネーミングスタイルページで、すべての新しい変数名に接頭辞および / または接尾辞を指定することができます。これを行うと、完了アイテムはそれに従って修正されます:
ReSharper: Suggesting type-based variable names in code completion

クラスのメンバーを提案する

ReSharper: Suggesting members of a class in code completion

可視タイプを提案する

ReSharper: Suggesting visible types in code completion

C# キーワードの提案

ReSharper: Suggesting C# keywords in code completion

静的クラスの静的メソッドに対する 'this' キーワードの提案

ReSharper: Suggesting 'this' keyword for static methods in static classes

enum メンバーの補完

ReSharper: Completion for enum members
ReSharper: Completion for enum members

コード補完でのキャメルハンプの使用

ReSharper: Using CamelHumps in code completion

未解決のシンボルの補完

コード内のどこにも宣言されていなくても解決できない場合でも、初期に使用されたデータ型の名前とそのメンバーが提案されます。

ReSharper: Completion for unresolved symbols

引数名の補完

ReSharper: Completion for argument names

動的なタイプのメンバーの提案

ReSharper: Suggesting members of a dynamic type

既存の部分クラスを提案する

partial class と入力すると、現在のスコープ内の部分クラスの名前が候補リストに追加され、既存の部分クラスの新しい部分をすばやく作成できます。

Suggestions for existing partial classes in ReSharper code completion

異なる言語での適用性

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

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

関連ページ:

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

ライブテンプレートは、Visual Studio のコードスニペットの ReSharper のはるかにインテリジェントなバージョンです。コードスニペットとは異なり、ReSharper のテンプレートは、使用できる変数、フィールド、型をコンテキストから予測できます。ほとんどの場合、自分で何も入力する必要はありません。推奨値のリストから選択するだけです。ReSharper は、サポートされているすべての言語用に事前定義されたライブテンプレートを豊富に提供します。事前定義テンプレートのリストには、コレ...

生成補完 | ReSharper

ReSharper でコードを生成する最も簡単な方法の一つは、使用することですコード補完をする必要があるすべては、いくつかの文字を入力することです -。自動補完および基本補完のリストには、コード生成の提案が含まれています。コード補完でコードを生成する方法の例をいくつか示します。メンバーのオーバーライドと実装:以下の例では、コード補完は基本クラスから仮想メンバーのオーバーライドを作成できます。メソッド名を入力し始めると、現在の型でそれをオーバーライドする提案が表示されます。提案を受け入れると、デ...

スマート補完 | ReSharper

このコマンドは、式の予想される型に一致するように、型、メソッド、変数のリストをフィルター処理します。ReSharper が式の予想される型(たとえば、割り当ての右辺、変数初期化子、または return ステートメント)を判別できる限り、どこでも機能します。複数の戻り値の型が可能な場合、ReSharper は、該当する型の最後に使用された記号を検出し、ルックアップリストでそれを自動的に選択します。Type-Matching Completion は、匿名デリゲート、ラムダ式、通常のメソッド、out...

インポートシンボル補完 | ReSharper

このコマンドは、名前空間が現在のファイルにインポートされているかどうかにかかわらず、現在のプロジェクトで参照されているモジュールの型と拡張メソッドを示します。提案された各項目の名前空間は、候補リストの右側に表示されます。インポートされていないタイプを選択すると、必要な名前空間のインポート指示が自動的に追加されます。デフォルトでは、C# および VB.NET のインポートシンボル補完アイテムは、自動補完および基本補完の候補リストに含まれています。デフォルトの動作を変更する場合は、ReSharper...

基本補完 | ReSharper

ReSharper の基本補完は、クラス、メソッド、変数、キーワード、以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。ライブテンプレート、コード生成の提案、単体テストのカテゴリなど、他の多くのコンテキスト固有の提案も補完リストで利用できます。デフォルトでは、基本補完の提案には、スマート補完およびインポートシンボル補完のアイテムも含まれます。デフォルトの動作を変更する場合は、ReSharper オプション(Alt+R, O)のページにあ...

ASP.NET MVC 特有の機能 | ReSharper

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