コード補完 (IntelliSense)
ReSharper は、高度な機能を備えた Visual Studio のネイティブコード補完(IntelliSense)を補完し、拡張します。例: あなたの入力に基づいて提案のリストを絞り込み、選択した型と拡張メソッドを自動的にインポートし、メソッド名を補完するときに括弧を追加し、型に応じて変数とフィールド名を提案するなど。
ReSharper のコード補完の機能に慣れ親しむために、いくつかの実装の基本があります:
デフォルトでは、ReSharper は Visual Studio のネイティブの IntelliSense を独自の機能に置き換えます。
新しい識別子を入力し始めるとすぐに、自動補完の候補リストが表示されます。デフォルトの Visual Studio IntelliSense ショートカット Control+Space を押すと、基本補完の候補リストが表示されます。
必要に応じて、いつでも Visual Studio のネイティブ IntelliSense に戻ることができます。そのためには、ReSharper オプション Alt+R, O の ページで Visual Studio を選択します。
他の 2 つの補完コマンドスマート補完 Control+Shift+Space およびインポートシンボル補完 Control+Alt+Space は、標準の補完コマンドで選択されたオプションとは無関係に常に使用可能であり、高度なアルゴリズムを適用して候補リストに項目を追加します。
AI Assistant を有効にしている場合は、周囲のコンテキストに基づいてコードブロック全体を作成できる AI を搭載したコード補完を利用できます。
ReSharper の補完ショートカットはすべて、連続して数回押すことができます。この場合、ReSharper は補完リストにさらに多くの提案を追加します。詳細については、ダブル補完を参照してください。
デフォルトでは、すべての ReSharper の補完機能がキャメルハンプをサポートしています。つまり、複合名部分の最初の文字を入力すると、その名前が候補のリストに表示されます。
必要に応じて、ReSharper オプション Alt+R, O の ページで識別子の中間一致チェックボックスをオフにして、キャメルハンプを無効にすることができます。
既存のコード項目に対してコード補完を使用する場合、Enter を押して選択した補完候補を既存の項目の前に挿入するか、Tab を押して既存の識別子を選択した候補に置き換えることができます。必要に応じて、ReSharper オプション Alt+R, O の ページでデフォルトのショートカットを変更できます。
たとえば、ソリューションにシステムタイプに似たもの (
MyFramework.MyCollections.List
など) があるが、実際には使用していない場合など、一部のタイプまたは名前空間を提案しないようにしたい場合があります。このような項目を提案から除外するには、ReSharper オプション Alt+R, O の ページのインポートおよび補完から除外リストに追加します。エントリの形式は、
Fully.Qualified.Name
、Fully.Qualified.Name.Prefix*
、*Fully.Qualified.Name.Suffix
です。ジェネリクス型はList`1
として指定されます。キーボードを使用して補完リストで項目を選択すると、選択は最後の項目の次に最初の項目に移動し、その逆も同様です。この動作を無効にするには、ReSharper オプション Alt+R, O の ページでリストの両端の周囲のループ選択をクリアします。
補完リストからメソッド呼び出しを選択すると、デフォルトでは ReSharper は括弧
( )
のペアを自動的に挿入し、その間にキャレットを設定します。この動作は、ReSharper オプション Alt+R, O の ページの完了後に括弧を自動的に挿入するオプションで変更できます。
ReSharper のコード補完の機能が Visual Studio のネイティブ IntelliSense とどのように異なるかを示す他の一般的な点は次のとおりです。
入力すると、入力に一致するように補完候補のリストが絞り込まれます。必要に応じて、ReSharper オプションの
ページの対応するチェックボックスをオフにすることで、これをオフにすることができます。ReSharper オプションの ページの対応するオプションを使用して、補完リストの初期サイズを指定することもできます。継承されたメンバーとは対照的に、タイプの即時メンバーが強調されます。
リストから提案を選択すると、ReSharper は XML ドキュメントから取得した要約を表示します。これを無効にするには、ReSharper オプションの要約を表示チェックボックスをオフにします。
ページのデフォルトでは、メソッドのすべてのオーバーロードは、候補リストに署名のない単一のメソッド名として表示されます。これを選択すると、オーバーロードのリストがポップアップに表示され、そこで調べることができます。ポップアップで署名を切り替えるには、Control+P を押します。オーバーロードされたメソッドの各シグネチャーを補完リストで個別に表示する場合は、ReSharper オプションのメンバーの署名を表示するを選択します。
ページで適用可能な場合、コード補完は、インデクサーと型メンバーを提案し、インデクサーが選択された場合にはそれに応じて式の構文を修正します。
フィールドと区別するために、パラメーターとローカル変数のカスタムアイコンが用意されています。
フィールド、メソッドパラメーター、ローカル変数を宣言すると、ReSharper は、現在のコンテキスト内の他の名前と命名規則を考慮に入れて選択できる可能な名前のリストを提案します。
本セクション:
関連ページ:
自動補完
ReSharper の自動補完は、クラス、メソッド、変数、キーワード、以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。ライブテンプレート、コード生成の提案、単体テストのカテゴリなど、他の多くのコンテキスト固有の提案も補完リストで利用できます。デフォルトでは、自動補完の候補にはスマート補完とインポートシンボル補完の項目も含まれます。デフォルトの動作を変更する場合は、ReSharper オプション Alt+R, O のページで対応するコントロ...
スマート補完
このコマンドは、式の予想される型に一致するように、型、メソッド、変数のリストをフィルター処理します。ReSharper が式の予想される型(たとえば、割り当ての右辺、変数初期化子、return ステートメント)を判別できる限り、どこでも機能します。複数の戻り型が可能な場合、ReSharper は、該当する型の最後に使用されたシンボルを検出し、ルックアップリストでそれを自動的に選択します。Type-Matching Completion は、匿名デリゲート、ラムダ式、通常のメソッド、out パラメ...
インポートシンボル補完
このコマンドは、名前空間が現在のファイルにインポートされているかどうかにかかわらず、現在のプロジェクトで参照されているモジュールの型と拡張メソッドを示します。提案された各項目の名前空間は、候補リストの右側に表示されます。インポートされていないタイプを選択すると、必要な名前空間のインポート指示が自動的に追加されます。デフォルトでは、C# および VB.NET のインポートシンボル補完項目は、自動補完および基本補完の候補リストに含まれています。デフォルトの動作を変更する場合は、ReSharper オ...
AI Assistant
AI Assistant は、コードを説明したり、コードの問題を見つけたり、プログラミング関連の質問に答えたりすることができます。インストール:AI Assistant は、dotUltimate インストーラーとともに別個の製品としてインストールされます。これを使用する場合は、インストール中にその隣にあるインストールを選択します。AI Assistant は独立した製品として使用できないことに注意してください。AI Assistant を使用するには、ReSharper、ReSharper...
AI でコードを生成する
これから作成する新しいコード行ごとに、AI Assistant は、周囲のコンテキストとシンボル名に応じて、単一行からいくつかのロジックを実装する複数のステートメントまでの範囲の提案を生成できます。以下の例では、AI Assistant が名前とパラメーターに基づいてメソッドの実装を提案します。AI による補完候補は灰色のテキストで表示されます。Tab を押して提案を受け入れるか、入力を続けて提案を無視することができます。AI コード補完はデフォルトで有効になっており、Visual Studio...
ダブル補完
ReSharper のすべての補完ショートカットは、連続して数回押すことができます。この場合、ReSharper は補完リストにさらに多くの提案を追加します。新しい提案は緑の縦線でマークされているため、簡単に見つけることができます。必要に応じて、ReSharper オプション Alt+R, O のページで新しい項目をハイライトするチェックボックスをオフにして、このヘルパーをオフにすることができます。ダブル基本補完:基本補完を 2 回呼び出すと、ReSharper は補完リストにいくつかの新しい提案...