ReSharper 2020.2ヘルプ

自動補完

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

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

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

補完候補のリストを作成するとき、ReSharperはどの候補が選択される可能性が高いかを判断し、リストから事前選択します。デフォルト設定では、ReSharperは最適な一致を事前に選択します。これにより、Enter , Spaceを押すだけでなく、ドット、開き括弧、開き括弧、セミコロンなど(コンテキストによって異なります)を挿入できます。このデフォルトの動作は、説明に従って変更しますこのトピックの以下。選択した候補が挿入されない文字を指定することもできます。これを行うには、ReSharperオプションの環境 | IntelliSense | 補完文字ページの対応するコントロールを使用します。

自動補完を構成する

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

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

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

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

  • 表示しない

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

  • 表示するが、あらかじめ選択しない
    このオプションでは、ポップアップで選択可能な項目のリストを表示せずに手動で選択できるようにします。 Enter , Spaceなどを押すと、ポップアップが消え、入力した内容を続行できます。ただし、ポップアップの最も一致する部分は引き続き青いフレームで強調表示されます。推測が正しいことがわかった場合は、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.Name , Fully.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

異なる言語での適用性

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

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 available in ProtobufFeature is available in JSON

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

最終更新日: 2020年9月03日

関連ページ:

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

ReSharper | 編集 | ライブ・テンプレートの挿入…ライブテンプレートはVisual StudioのコードスニペットのReSharperのはるかにインテリジェントなバージョンです。コードスニペットとは異なり、ReSharperのテンプレートはコンテキストからどの変数、フィールド、タイプが使...

生成補完

ReSharperでコードを生成する最も簡単な方法の一つは、使用することですコード補完をする必要があるすべては、いくつかの文字を入力することです-。自動補完および基本補完のリストには、コード生成の提案が含まれています。ReSharperオプション(Alt+R O)のコード編集 | メンバーの生成ペー...

テストカテゴリー

NUnit、MSTest、およびxUnitフレームワークでは、対応するシンボルの(NUnit)または(MSTest)属性を使用して、テストとテストクラスをスイートにグループ化できます。xUnitは属性に同様の機能を提供します。ReSharperはこれらの属性を認識しており、多くの関連機能を提供します...

スマート補完

ReSharper | 編集 | スマートコード補完このコマンドは、型、メソッド、および変数のリストをフィルタして、式の予想される型に一致させます。ReSharperが、代入、変数初期化子、またはreturn文の右辺など、期待される式の型を決定できる限り、どこでも動作します。いくつかのリターンタイプ...

インポート・シンボル補完

ReSharper | 編集 | シンボルのインポートこのコマンドは、名前空間が現在のファイルにインポートされているかどうかにかかわらず、現在のプロジェクトで参照されているモジュールの型と拡張メソッドを示します。提案された各項目の名前空間は、候補リストの右側に表示されます。インポートされていないタイ...

基本補完

ReSharper | 編集 | 完全なシンボルReSharperの基本補完は、クラス、メソッド、変数、キーワード、および以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。補完リストでは、ライブテンプレート、コード生成の提案、ユニットテスト...