コード補完

ReSharperはさらに高度な機能により、Visual Studioのネイティブのコード補完(IntelliSense)を拡張します。 例えば、入力内容に基づいて候補の一覧を絞り込み、lowerCamelHumpsの略語を認識し、タイプ名や命名スタイルに応じて変数名やフィールド名の候補を提案し、選択したタイプや拡張メソッドなどを自動的にインポートします。

CamelHumpsに対応したC#でのシンボルのコード補完

シンボル補完

Ctrl+Spaceでのコード補完は、変数やメソッド、現在表示されているタイプ名、キーワード、その他を認識します。 ReSharperは命名スタイルに従い、識別子を宣言する際にプレフィックスを自動的に提案します。

ReSharperはローカルスコープの未解決シンボルにもコード補完を行います。仮にコードのシンボルが宣言されていなくても、ReSharperはその使用箇所から既知のメンバーを取得いたします。

シンボル補完を含むReSharperのコード補完機能はすべて、CamelHumpsに対応しているため、どんな項目でもその大文字名を入力するだけで補完できます。

ASP.NETファイルでは、ReSharperはウェブコントロールのプロパティやイベント、データソース、コンテンツプレースホルダー、そしてもちろん、インラインC#コードのコード補完も行います。
XAMLに関しては、リソースへの参照が役に立ちますが、ビルドスクリプトの場合、ReSharperは現在のスコープ内で利用可能なプロパティ、ターゲット、タスク、および属性名で支援いたします。

ReSharperのコード生成補完

生成補完

しかし、Ctrl+Spaceではそれ以上の機能を提供しています。 シンボルのオーバーライドや部分的なメソッドの本文、部分的なクラスをすばやく追加し、インターフェースのメンバーを実装し、プロパティを生成することもできます。 ReSharper は、このような項目を補完する際に、メソッド、コンストラクタ、プロパティなどの全本文を生成して挿入します。

C#のスマートコード補完

スマート補完

Ctrl+Alt+Spaceで呼び出せるスマートコード補完では、メソッド、フィールド、変数の一覧を絞り込み、予想される式のタイプに一致させることができます。

例えば、メソッド呼び出しの引数にスマート補完を適用する場合、候補値の一覧は必要なパラメータタイプにのみ絞り込まれます。 スマート補完は、匿名メソッド、ラムダ式、通常のメソッドのほか、outパラメータのローカル変数の作成も提案いたします。

スマート補完はXAMLのイベントハンドラーやその他のコンテキストで、魔法のように動作します。

ReSharperのコード補完は他の名前空間のコードの提案やインポートも行います

インポートシンボル補完

インポートシンボル補完は、Shift+Alt+Spaceで呼び出せます。 シンボル補完(現在の場所でアクセス可能なタイプのみを補完する)とは異なり、このコマンドは、所属する名前空間によらず指定プレフィックスに一致するすべてのタイプを表示し、必要に応じて適切な名前空間のimportディレクティブを自動的に追加します。

C#コードファイルの場合、インポートシンボル補完は拡張メソッドでドットを入力後に動作し、ディレクティブを使って必要なものを配置します。 インポートシンボル補完は、XAMLマークアップのタグ名にも非常に役立ちます。 名前空間のimportディレクティブも必要に応じて挿入されます。

ダブルコード補完

ダブル補完

候補リストが空の場合や期待した項目が含まれない場合は、いつでももう一度ショートカットを押して、補完できるタイプを取得できます。

ReSharperは、protected、private、internalメンバー、参照されていないアセンブリのシンボル、期待するデータ型の戻り値を持つ呼び出しチェーン、期待するデータ型へのキャストなどの補完リストを拡張いたします。 もちろん、候補のいずれかを使用すると、足りないインポートや参照が自動的に追加されます。

コード補完フィルタ

コード補完のフィルタ

ReSharperはシンボルの種類、アクセス修飾子、およびその他のフィルタに基づいて補完リストを絞り込めます。 コード補完を呼び出すたびに適用するフィルタセットを変更したり、フィルタの状態を維持したりできます。

C#の入力支援

C#の入力支援

また、ReSharperはコードを入力中には気付きにくいタイプミスを修正する、C#用の入力支援機能もご提供しております。

例えば、うっかりMethodName(.)と入力してしまった場合、これをMethodName().に自動的に置き換え、無効なシンタックスエラーを修正することなく呼び出しチェーンを入力し続けることができます。

同様に、ReSharperは逐語的文字列の補間で、タイプミスされた@$プレフィックスを$@に修正します。

ショートカットに関する注意

このページに記載されたキーボードショートカットはすべて、ReSharperデフォルトの「Visual Studio」キーマップのものです。 ReSharperの2種類のキーマップの詳細は、ReSharperのドキュメントをご覧ください。