ReSharper 2020.2ヘルプ

スマート補完

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

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

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

スマート補完を呼び出す

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

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

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

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

キーボードを使用して補完リストでアイテムを選択すると、選択は最後のアイテムの後に最初のアイテムにジャンプし、その逆も同様です。この動作を無効にするには、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として指定されます。

スマートな補完の例

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

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

最終更新日: 2020年8月21日

関連ページ:

ダブル補完

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

自動補完

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

基本補完

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

キャメルハンプ

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

異なる言語でのReSharperの機能

以下の表は、各ReSharper機能がサポートされている言語/技術を説明しています。言語固有の機能のみを一覧表示し、プロジェクト依存関係図、名前空間の調整リファクタリング、スタックトレースエクスプローラー、最近のファイルを見るなどのプロジェクト/ソリューションのスコープには多くの機能は含まれていませ...

ASP.NET MVC特有の機能

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