ReSharper 2024.3 ヘルプ

自動補完

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

デフォルトでは、自動補完の候補にはスマート補完インポートシンボル補完の項目も含まれます。デフォルトの動作を変更する場合は、ReSharper オプション Alt+R, O環境 | IntelliSense | 補完の振る舞いページで対応するコントロールを使用します。

自動補完の候補のリストは基本補完のリストと同じですが、入力を開始するとすぐに表示されます。入力すると、リストが絞り込まれ、入力した内容に一致するアイテムのみが表示されます。

ReSharper またはカスタム IntelliSense のいずれかと、対応する言語が ReSharper オプションの環境 | IntelliSense | 一般ページで選択されている場合、ReSharper オプションの環境 | IntelliSense | 自動ポップアップページの自動 IntelliSense ポップアップを有効にするチェックボックスを使用して自動補完を有効または無効にできます。

自動補完ポップアップでの最適な一致は、ハード選択またはソフト選択のいずれかで事前に選択できます。

  • 厳選 (ほとんどのカラーテーマでは青) を使用すると、選択した項目を EnterTabSpace だけでなく、ドット、開き括弧、開き括弧、セミコロンなど (コンテキストに応じて) で挿入できます。ReSharper オプションの環境 | IntelliSense | 補完文字ページで、言語ごとに Space の補完を有効または無効にすることができます。

    ReSharper. Auto-completion list with hard selection.
  • ソフトセレクション (ほとんどのカラーテーマでは灰色) は、最も一致するものを穏やかにハイライトしますが、入力の妨げにはなりません。入力を続行してポップアップを閉じるか、目的の項目を手動で選択することができます。ただし、ハイライトされた項目が正しく提案されている場合は、Tab を押して挿入することができます。

    ReSharper. Auto-completion list with soft selection.

事前選択モードを選択するには、ReSharper オプションの環境 | IntelliSense | 自動ポップアップページで言語とコンテキストごとに構成します。ハード選択の場合は表示して事前選択を、ソフト選択の場合は表示するが、あらかじめ選択しないを選択します。

既存のコード項目に対してコード補完を使用する場合、Enter を押して選択した補完候補を既存の項目の前に挿入するか、Tab を押して既存の識別子を選択した候補に置き換えることができます。必要に応じて、ReSharper オプション Alt+R, O環境 | IntelliSense | 補完文字ページでデフォルトのショートカットを変更できます。

デフォルトでは、自動補完はキャメルハンプをサポートしています。つまり、複合名部分の最初の文字を入力すると、その名前が候補のリストに表示されます。

必要に応じて、ReSharper オプション Alt+R, O環境 | IntelliSense | 補完の振る舞いページで識別子の中間一致チェックボックスをオフにして、キャメルハンプを無効にすることができます。

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

完全なメソッド呼び出し

補完リストからメソッド呼び出しを選択すると、デフォルトでは ReSharper は括弧 ( ) のペアを自動的に挿入し、その間にキャレットを設定します。この動作は、ReSharper オプション Alt+R, O環境 | IntelliSense | 補完の振る舞いページの完了後に括弧を自動的に挿入するオプションで変更できます。

補完リストでメソッドが選択されている場合は、Tab または Enter の代わりに左括弧 ( を入力できることに注意してください。この場合、このオプションに関係なく、括弧のペアが挿入されます。

補完の提案からタイプと名前空間を除外する

たとえば、ソリューションにシステムタイプに似たもの ( 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  キャメルハンプ  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

空表現のヒント

コード補完が void -returning 式で呼び出されると、候補リストに特別なヒントが表示され、その時点では呼び出しができないことがわかります。この void 項目を受け入れると、以前にセミコロンが追加されていない場合は、セミコロンが追加されるだけです。

ReSharper: void expression hint in code completion

異なる言語での適用性

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

ここで説明する手順と例では、C# の機能の使用について説明します。他の言語の詳細については、言語およびフレームワークセクションの対応するトピックを参照してください。

関連ページ:

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

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

生成補完

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

スマート補完

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

インポートシンボル補完

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

基本補完

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

ASP.NET MVC 特有の機能

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