自動補完
ReSharper の自動補完は、クラス、メソッド、変数、キーワード、以前にインポートされた拡張メソッドを含む現在の可視性スコープ内で使用可能なその他のシンボルの名前を提案します。ライブテンプレート、コード生成の提案、単体テストのカテゴリなど、他の多くのコンテキスト固有の提案も補完リストで利用できます。
デフォルトでは、自動補完の候補にはスマート補完とインポートシンボル補完の項目も含まれます。デフォルトの動作を変更する場合は、ReSharper オプション Alt+R, O の ページで対応するコントロールを使用します。
自動補完の候補のリストは基本補完のリストと同じですが、入力を開始するとすぐに表示されます。入力すると、リストが絞り込まれ、入力した内容に一致するアイテムのみが表示されます。
ReSharper またはカスタム IntelliSense のいずれかと、対応する言語が ReSharper オプションの ページで選択されている場合、ReSharper オプションの ページの自動 IntelliSense ポップアップを有効にするチェックボックスを使用して自動補完を有効または無効にできます。
自動補完ポップアップでの最適な一致は、ハード選択またはソフト選択のいずれかで事前に選択できます。
厳選 (ほとんどのカラーテーマでは青) を使用すると、選択した項目を Enter、Tab、Space だけでなく、ドット、開き括弧、開き括弧、セミコロンなど (コンテキストに応じて) で挿入できます。ReSharper オプションの ページで、言語ごとに Space の補完を有効または無効にすることができます。
ソフトセレクション (ほとんどのカラーテーマでは灰色) は、最も一致するものを穏やかにハイライトしますが、入力の妨げにはなりません。入力を続行してポップアップを閉じるか、目的の項目を手動で選択することができます。ただし、ハイライトされた項目が正しく提案されている場合は、Tab を押して挿入することができます。
事前選択モードを選択するには、ReSharper オプションの表示して事前選択を、ソフト選択の場合は表示するが、あらかじめ選択しないを選択します。
ページで言語とコンテキストごとに構成します。ハード選択の場合は既存のコード項目に対してコード補完を使用する場合、Enter を押して選択した補完候補を既存の項目の前に挿入するか、Tab を押して既存の識別子を選択した候補に置き換えることができます。必要に応じて、ReSharper オプション Alt+R, O の ページでデフォルトのショートカットを変更できます。
デフォルトでは、自動補完はキャメルハンプをサポートしています。つまり、複合名部分の最初の文字を入力すると、その名前が候補のリストに表示されます。
必要に応じて、ReSharper オプション Alt+R, O の ページで識別子の中間一致チェックボックスをオフにして、キャメルハンプを無効にすることができます。
キーボードを使用して補完リストで項目を選択すると、選択は最後の項目の次に最初の項目に移動し、その逆も同様です。この動作を無効にするには、ReSharper オプション Alt+R, O の ページでリストの両端の周囲のループ選択をクリアします。
完全なメソッド呼び出し
補完リストからメソッド呼び出しを選択すると、デフォルトでは ReSharper は括弧 ( )
のペアを自動的に挿入し、その間にキャレットを設定します。この動作は、ReSharper オプション Alt+R, O の ページの完了後に括弧を自動的に挿入するオプションで変更できます。
補完リストでメソッドが選択されている場合は、Tab または Enter の代わりに左括弧 (
を入力できることに注意してください。この場合、このオプションに関係なく、括弧のペアが挿入されます。
補完の提案からタイプと名前空間を除外する
たとえば、ソリューションにシステムタイプに似たもの ( MyFramework.MyCollections.List
など) があるが、実際には使用していない場合など、一部のタイプまたは名前空間を提案しないようにしたい場合があります。このような項目を提案から除外するには、ReSharper オプション Alt+R, O の ページのインポートおよび補完から除外リストに追加します。
エントリの形式は、Fully.Qualified.Name
、Fully.Qualified.Name.Prefix*
、*Fully.Qualified.Name.Suffix
です。ジェネリクス型は List`1
として指定されます。
自動補完の例
次の例を使用すると、さまざまなコード項目で自動補完がどのように機能するかを知ることができます。
type-based 変数名を提案する
フィールドと変数の一般的に使用される名前が、その型に応じて提案されます。
変数名の接頭辞を入力すると、ReSharper はそれをそれぞれの提案された名前に追加します。
ReSharper オプションの
ページで、すべての新しい変数名の接頭辞または接尾辞を指定できます。それを行うと、それに応じて完了アイテムが変更されます。クラスのメンバーを提案する
可視タイプを提案する
C# キーワードの提案
静的クラスの静的メソッドに対する 'this' キーワードの提案
enum メンバーの補完
コード補完でのキャメルハンプの使用
未解決のシンボルの補完
コード内のどこにも宣言されていなくても解決できない場合でも、初期に使用されたデータ型の名前とそのメンバーが提案されます。
引数名の補完
動的なタイプのメンバーの提案
既存の部分クラスを提案する
partial class
と入力すると、現在のスコープ内の部分クラスの名前が候補リストに追加され、既存の部分クラスの新しい部分をすばやく作成できるようになります。
空表現のヒント
コード補完が void
-returning 式で呼び出されると、候補リストに特別なヒントが表示され、その時点では呼び出しができないことがわかります。この void 項目を受け入れると、以前にセミコロンが追加されていない場合は、セミコロンが追加されるだけです。
異なる言語での適用性
この機能は、次の言語とテクノロジーでサポートされています。
ここで説明する手順と例では、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 メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...