コーディング支援

ReSharperはコードに関する補足情報を取得し、コードの構造ブロックを選択して ハイライト表示し、ローカルなコード変換を適用するためのさまざまな機能を提供しています。

C#のシンタックスハイライト

シンタックスハイライト

ReSharperはさまざまな言語のコード要素のハイライト表示をカスタマイズ可能で、Visual Studio標準の ハイライト表示を拡張します。 例えば、コード内のローカル変数とフィールドを簡単に区別できます。 ReSharperのハイライト表示を 有効にするには、 ReSharper | Options | Code Inspection | Settingsを開いて Color Identifiersを選択します。 各要素のカスタム色は設定変更できます。

ReSharperのコンテキストアクション

コンテキストアクション

ReSharperのコンテキストアクションを使うと、キャレット位置のコードにすばやく簡単な変更を加えることができるため、時間を節約できます。例えば、何回かキー入力するだけで、アクセス修飾子を変更したり、nullをチェックするコードを生成したり、foreachforを相互に変換したりできます。 現在のキャレット位置で使用できるコンテキストアクションがある場合、ReSharperはハンマーアイコンReSharper's context action indicatorを表示します。該当アイコンをクリックするか、Alt+Enterを押すと、適切なアクションを選択できます。

「ステートメントの補完」機能のさまざまなシナリオ

Complete Statement(ステートメントの補完)

この機能は必要な構文要素(波括弧、セミコロンなど)を挿入し、次のステートメントの開始位置にキャレットを移動するため、必要以上にキャレットを操作する必要がなくなります。 作業する際に、この機能を呼び出すデフォルトのショートカットは Ctrl+Shift+Enter です。

ステートメントの補完(スマートエンターとしても知られる)は、丸括弧の自動補完、セミコロンの追加、ifwhileforステートメントなどの補完を含む、多数のシナリオで大いに役立ちます。

ReSharperによる言語インジェクション

言語インジェクション

文字列リテラルに他の形式言語が含まれている場合、ReSharper はその部分に対してその言語固有のコードインスペクションクイックフィックスコード補完コンテキストアクション、およびその他多数の機能を提供します。

文字列リテラル内の形式言語を自動検出できない場合、ReSharper では Alt+Enter メニューを使用するか、文字列リテラルの前に /*language=html|regexp*/ コメントを追加することで、リテラルに特定の言語が含まれていることを手動で示すことができます。

正規表現検証ツール

正規表現支援機能

ReSharper は C# の正規表現に対応した豊富なツールセットを提供しています。 素早く既存の表現を解析し、エラーの発見と修正を行えます。 新しい表現を入力する際、ReSharperは自動補完と検証を行います。

メニューで ReSharper | Tools | Validate Regular Expressionを選択すると、 さまざまな サンプル文字列を入力し、あなたの正規表現が その文字列に一致するかどうかを確認することができます。 このダイアログを使うと、正規表現を修正して期待したとおりに一致するかどうかを確認できます。

パラメータ情報

Parameter info(パラメータ情報)

Visual StudioのIntelliSenseのこの部分は、ReSharperでも拡張されています。 メソッドを呼び出す際、パラメータ情報は、利用可能なすべてのメソッドの署名とパラメータを、関連するドキュメントと共にツールチップに表示します。 ツールチップは入力中に自動的に表示されますが、Ctrl+Shift+Spaceを押して表示することもできます。 新しい引数を入力中、ReSharperは不適合となる署名をグレーアウト表示します。

対になった区切り文字のハイライト表示

対になった区切り文字のハイライト表示

C# ではキャレットを右丸括弧/角括弧/波括弧の前後にすばやく移動すると常に対応する左括弧がハイライト表示されます。逆の場合も同様です(このオプションは設定変更できます)。

VB.NETでは、End SubまたはEnd Function内の任意の場所または後ろにキャレットが置かれると、対応するSubまたはFunctionがハイライト表示されます。 キャレットを開始キーワードの中に置くと常に、対応するキーワードとその行がハイライト表示されます(繰り返しになりますが、この機能は微調整できます)。

XMLでは、対応するタグが控えめにハイライト表示されるため、タグの構造を確認できます。
対応するコードがスクロール範囲外にあるときは、適切なポップアップが表示されるため、便利です。

名前空間の自動インポート

名前空間のインポート

適切な名前空間のimportディレクティブをソースコードに入れ忘れたために型名を解決できない場合、1つ以上の型をインポートするようにご提案する小さなポップアップが表示されます。 Alt+Enterを押すだけで、適切な名前空間のimportディレクティブが自動的に挿入されます。 また、現在のキャレット位置が失われることはありません。

ウェブアプリケーションのマークアップファイルの場合、ReSharperは使用状況に基づいてユーザーコントロール(ascxファイル)を自動インポートできます。

区切り文字の自動挿入

エディタで(["'を入力すると、対になった文字が(必要に応じて常に)自動的に挿入されます。 この機能は簡単にオフにできますが、閉じ丸括弧、角括弧、終了引用符を誤って挿入しすぎる心配はございません。閉じ丸括弧や終了引用符がすでに存在する場合、ReSharperがさらにそれらを追加することはありません。
XMLの場合、開始引用符や開き角括弧を入力するとすぐに、終了引用符や閉じ角括弧が自動的に現れます。

行や選択範囲の複製

エディタ内の任意のコード行(ブロック)にキャレットを置き(または個々にブロックを選択し)、Ctrl+Dを押すとすばやく複製できます。

ReSharperのショートカットによるコードの並べ替え

コードの並べ替え

ReSharperでは、Ctrl+Shift+Alt+Up/Down/Left/Rightの4つのキー操作で、コード要素の順番を素早く変更できます。 具体的には、メンバーの上下移動、パラメータと引数の並び替え、ブロック内でのステートメントの移動、ステートメントのブロック内外への移動、XMLタグの上下移動、XML属性の左右移動などが行えます。

クイックドキュメントのポップアップ

クイックドキュメンテーション

あるクラス、メソッド/関数またはその他のシンボルのドキュメントをエディタ内に直接表示するには、キャレットをコードのシンボルに合わせてからCtrl+Shift+F1を押してください。 MSDNドキュメントをはじめとする他のリソースへのリンクと共に、ドキュメントがポップアップウィンドウに表示されます。

ReSharperによるコードのコメント化/コメント解除

コードのコメント化/コメント解除

任意のコードブロックをエディタで選択し、Ctrl+Alt+/(行コメントの場合)またはCtrl+Shift+/(ブロックコメントの場合)を押して、迅速にコメント化またはコメント解除できます。

また、コードブロックが選択されていない場合、Ctrl+Alt+/を使って、エディタのキャレット位置にあるコード行を素早くコメント化またはコメント解除することもできます。 同じ状況でCtrl+Shift+/を押すと、開始ブロックコメント(/*)および終了ブロックコメント(*/)がキャレット位置の直前および直後に挿入されます。キャレットがコメント化されたコードブロック内にある場合は、これらのコメントは削除されます。

コード選択範囲の拡張または縮小

選択範囲の拡張または縮小

選択範囲の拡張機能は、次々とコードブロックの選択範囲を拡張するのに役立ちます。 つまり、キャレットをコード内のどこかに置き、Ctrl+Alt+Rightを数回押すと、任意の式を簡単に選択できます。 「選択範囲の縮小」は反対の動作をし、Ctrl+Alt+Leftを押して適用できます。

また、キャレット位置のメンバーや、そこに含まれる型も、Ctrl+Shift+[を押して素早く選択できます。

文字列リテラルの分割:分割前

文字列リテラルの分割

非常に長い文字列リテラルを入力する必要がある場合、ReSharperは、必要な引用符とプラス文字を追加して文字列リテラルを複数行に分割します。キャレットが文字列リテラル内にあるときにEnterまたはShift+Enterを押すと、値を壊すことなく文字列を分割できます。

複数エントリを持つクリップボード

クリップボード履歴からの項目の貼り付け

ReSharperは、Ctrl+Shift+Vを押すと利用できる特殊な貼り付けコマンドをご提供しており、クリップボードの履歴にアクセスし、Visual Studioからクリップボードにコピーした最近の項目を素早く貼り付けることができます。 ReSharperはVisual Studioを起動するとすぐにクリップボードの履歴にコピーされた項目を記録し始め、終了時に履歴を消去します。

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

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