ReSharper 2020.3 ヘルプ

スマート補完

ReSharper | 編集 | スマートコード補完
Control+Shift+Space
ReSharper_CompleteCodeSmart

このコマンドは、型、メソッド、変数のリストをフィルターして、式の予想される型に一致させます。ReSharper が、代入、変数初期化子、または return 文の右辺など、期待される式の型を決定できる限り、どこでも動作します。いくつかのリターン型が可能な場合、ReSharper は適用可能な型の直前に使用されたシンボルを検出し、ルックアップリスト内でそれを自動的に選択します。スマート補完は、匿名の代理人、ラムダ式、および通常のメソッド、out パラメーター用のローカル変数の作成を提案することもできます。それに加えて、オブジェクトイニシャライザでは、スマート補完はまだ値が割り当てられていないフィールド / プロパティを提案しています。

デフォルトでは、C# および VB.NET のスマート補完アイテムは、自動補完および基本補完の候補リストに含まれています。デフォルトの動作を変更する場合は、ReSharper オプションの環境 | IntelliSense | 補完の振る舞いページで対応するコントロールを使用します。

スマート補完を呼び出す

  1. コードを入力する位置にキャレットを置きます。

  2. Control+Shift+Space を押します。

  3. リストから提案を選択し、Enter キーを押すか、識別子の最初の文字またはその CamelHumps 省略形を入力して、提案のリストを絞り込みます。

既存の識別子に対してスマート補完を呼び出すこともできます。この場合、選択した補完候補を適用するには 2 つの方法があります。 Enter を押して挿入して既存のアイテムを残すか、Tab を押して既存のアイテムを置き換えます(必要に応じて、ReSharper オプションの環境 | IntelliSense | 補完文字ページでデフォルトのショートカットを変更できます)。

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

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

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

スマートな補完の例

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

return 文の後

ReSharper: Smart completion after return statement

課題の右側に

ReSharper: Smart completion in the right-hand side of assignments

キャスト式

前:

ReSharper: Smart completion in cast expressions
スマート補完を起動した後(この場合は単一のオプションがあるため、ReSharper はリストを表示せずに予想されるタイプを挿入します):
ReSharper: Smart completion in cast expressions

オブジェクトイニシャライザ

ReSharper は、特定のオブジェクトに対して以前に設定されていなかったオブジェクトイニシャライザのプロパティを設定するためのスマート補完を提供します。

ReSharper: Smart completion in object initializers

ラムダ式

従来の匿名の名前付きメソッドに加えて、スマート補完は簡単にラムダ式構文を生成します。

ReSharper: Smart completion in lambda expressions

out パラメーターの代わりにローカル変数を作成する

ReSharper: Smart completion. Creating a local variable in place of an out parameter

キャメルハンプを使う

ReSharper: Smart completion. Using CamelHumps

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

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 not available in C++Feature is not available in HTMLFeature is available in ASP.NETFeature is available in RazorFeature is not available in JavaScriptFeature is not available in TypeScriptFeature is not available in CSSFeature is not available in XMLFeature is available in XAMLFeature is not available in Resource filesFeature is not available in build script filesFeature is not available in ProtobufFeature is not available in JSON

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

関連ページ:

ダブル補完

すべての ReSharper の補完ショートカットは、複数回連続して押すことができます。この場合、ReSharper はさらに補完リストに提案を加えます。新しい提案は緑色の縦線でマークされているため、簡単に見つけることができます。必要に応じて、ReSharper オプション(Alt+R, O)のペー...

自動補完

ReSharper の自動補完は、クラス、メソッド、変数、キーワード、以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。ライブテンプレート、コード生成の提案、単体テストのカテゴリなど、他の多くのコンテキスト固有の提案も補完リストで利用できま...

基本補完

ReSharper の基本補完は、クラス、メソッド、変数、キーワード、以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。ライブテンプレート、コード生成の提案、単体テストのカテゴリなど、他の多くのコンテキスト固有の提案も補完リストで利用できま...

CamelHumps

キャメルハンプは、各パートが大文字で始まるCamelCase、または複合名の一部がアンダースコアで区切られた複合名の一部を識別する機能です。これらの部分の最初の文字だけを入力することができ、ReSharper は自動的に名前が一致する項目を検索します。検索コマンドのキャメルハンプ :キャメルハンプは...

ASP.NETMVC 固有の機能

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

言語による ReSharper: MS ビルド

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