ReSharper 2018.2ヘルプ

設計時のコードの問題の検出

ReSharperは、エディタでコードファイルを開くとすぐにコードファイルの解析を開始します。コードファイルは閉じた状態で編集されます。検出されたすべてのコードの問題は、重大度に従ってエディタで強調表示されます。問題のマップは、エディタウィンドウの右側のマーカー・バーにも表示されます。ここで、ファイルのステータスを即座に確認し、特定のコードの問題に移動するマークをクリックすることができます。

デザインタイムインスペクションの機能

ReSharperによって実行されるデザインタイムコードインスペクションを説明するために、エディタに表示される次のコード抜粋を検討してください。

code analysis sample

この簡単な例では、ReSharperコードインスペクションの次の機能を確認できます。

  1. 現在のファイルにエラーまたは警告があるかどうかをすぐに確認するのに役立つステータスインジケータ

  2. インポートされていないタイプに対して表示される修正ポップアップ。 Alt+Enter を押すか、このポップアップをクリックするだけで十分です。ReSharperは、ファイル内のすべてのタイプの欠落したディレクティブを追加します。詳細は、不足している名前空間のインポートを参照してください。

  3. 優先度の低いコードの問題(この場合、未使用のパブリックメンバーに関する提案)はグレー表示されます。

  4. 中優先順位のコードの問題(この場合は、名前のスタイルに適合しないシンボル名に関する警告)が青い波の下線で強調表示されます。

  5. 提案課題(3)に対応するマーカーがマーカー・バーに表示されます。

  6. マーカーバーには、エラーの発生に対応するマーカー(8)が表示されます。

  7. ReSharperがそこに示唆するものがあれば、キャレット位置の左側に表示されるアクションインジケータ

  8. 優先順位の高いコードの問題(この場合、未解決のシンボルや不正な戻り値のタイプに関連するエラー)は、赤いテキストと赤い波線で強調表示されます。

  9. マーカーバーには、警告の問題(4)に対応するマーカーが表示されます。

  10. Alt+Enter を押すか、アクションインジケータ(7)をクリックして開くアクションリストには、問題のクイック・フィックスのリストがキャレットに表示されます。

  11. ステータスバーには、キャレットでの問題の簡単な説明が表示されます: 強調表示されたコード上またはマーカーバーの問題マーカー上にマウスを置くことで、コードの問題の説明を表示することもできます(5,6,9)

  12. ソリューション全体の分析が有効な場合、ReSharperを使用すると、さらに多くのコードの問題を表示することができます。この例では、未使用のパブリックメンバー(3)を検出し、ソリューションの他のファイルのエラーを通知します。ソリューション全体の分析アイコンをクリックすると、検出された問題を調べることができます。

デザインタイムインスペクションの切り替え

既定では、デザインタイムコードインスペクションはサポートされているすべての言語で有効です。ただし、必要に応じて、すべてのファイルを無効にしたり、特定のファイルに対して無効にすることができます。コードインスペクションの設定の詳細については、コードインスペクションの設定を参照してください。

デザインタイムコードインスペクションを無効または有効にするには

  1. ReSharperオプションのコード・インスペクション | 設定ページで、コード分​​析を有効にするチェックボックスを使用して、デザインタイムコードインスペクションを切り替えます。このページでは、コードインスペクションに対して設定できるオプションを確認することができます。

  2. 必要に応じて、ソリューション全体の分析を可能にするチェックボックスをオンにしてソリューション全体の分析を有効にすることができます。

  3. 保存をクリックして変更を適用し、ReSharperに保存先を選択させるか、次へ保存ドロップダウンリストを使用して特定の設定レイヤーに変更を保存します。詳細は、resharper設定の管理と共有を参照してください。

デザインタイムコードインスペクションが有効な場合は、現在のファイルで検出されたすべての問題(ヒント重大度を使用しているものを除く)間を簡単にナビゲートできます。

現在のファイルで次の/以前のコードの問題に移動するには

  • 次のコードの問題に進むには F12 、前のコードの問題に進むには Shift+F12 を押します。

  • メインメニューで、ReSharper | インスペクション | 次のファイルの問題またはReSharper | インスペクション | ファイルでの前回の問題を選択します。

  • エディタウィンドウの右側にあるマーカー・バーを使用します。マーカーをクリックすると、対応する問題にキャレットが表示されます。マーカーバーの上にあるステータスインジケータをクリックすると、ファイル内の次の問題にキャレットが移動します。

  • ステータスインジケータを右クリックし、次へ/前のエラー/警告/示唆に進むを選択します。これらのコマンドは、最も重大度の高いコードの問題をナビゲートするのに役立ちます。したがって、エラーがある場合は、エラーの間を移動するだけです。すべてのエラーが修正されるとすぐに警告間をナビゲートします。

次/前のエラーに移動するには

  • Alt+F12 を押して次のエラーに進み、 Shift+Alt+F12 を押して前のエラーに進みます。

  • メインメニューで、ReSharper | インスペクション | 次のエラー/警告またはReSharper | インスペクション | 前のエラー/警告を選択します。

  • ソリューション全体の分析が有効で、エラーがいくつかある場合は、エラーの数がステータスバーの右端に表示されます。この番号をクリックすると、ソリューションの次のエラーに移動できます。

インスペクションオプションメニュー

インスペクションおよびカスタムインスペクションの各設定コードカスタムインスペクションThemedIcon Settings Screen Gray サブメニューは、以下の項目を含むアクションリストに表示されます。

Inspection [name of inspection] sub-menu

'インスペクションオプション'サブメニューを無効にすることができます。これを行うには、ReSharperオプションのコード・インスペクション | 設定ページでアクションリストにコードインスペクションを表示するチェックボックスをオフにします。

同様の問題を見つける

強調表示された問題をquick-fixで修正するだけでなく、ソリューション全体またはより小さな範囲で、すべての類似の問題(同じコードインスペクションで検出されたすべての問題)を検索して調査することができます。

同様の問題を見つけるには

  1. 強調表示された問題にエディタでキャレットを設定します。

  2. Alt+Enter を押すか、キャレットの左側にあるアクションインジケータをクリックしてアクションリストを開きます。

  3. 現在のファイルで同様の問題を見つけるには、インスペクション [検査名] | [ファイル名]ファイルで類似の問題を見つけるを選択します。

  4. 現在のプロジェクトまたはソリューションで類似の問題を見つけるには、サブメニューを展開して目的のスコープを選択します。

    Using action list to find similar issues

  5. 必要に応じて、ソリューション内の任意のプロジェクトまたはソリューションフォルダで同様の問題を検索できます。これを行うには、サブメニューでカスタムスコープで同様の問題を見つけるを選択します。
    表示されたダイアログで、目的のプロジェクトまたはソリューションフォルダの名前を入力し、OKをクリックします。

    Specifying search scope for the similar issues

  6. 見つかった問題はすべてインスペクション結果ウィンドウに表示されます。

Visual Studioコードインスペクションコントロールとの統合

バージョン2015以降、Visual Studioには独自のコード解析エンジン(Roslyn)が付属しており、独自の電球(英語)機能を備えており、リファクタリングやエラー修正などの迅速な処理を実行できます。

Visual Studioのクイックアクションは、しばしばReSharperのクイック・フィックスと同じ修正を実行します。したがって、いくつかのエラーについては、Visual StudioおよびReSharperからの2つの同様のエラー修正の提案があるかもしれません。以下の図では、 using の冗長なディレクティブを削除することを示唆する2つの電球を確認できます。

Two light bulbs for fixing the same issue

これを避けるため、ReSharperはReSharperオプションのコード・インスペクション | 設定ページにVisual Studioの電球を表示しないでください...オプションを提供します。このオプションはデフォルトで有効になっているため、重複した電球は無効にしないと表示されません。

ReSharperはデフォルトでVisual Studioの電球を抑制しますが、単にVisual Studioのクイックアクションを無効にするだけではありません。 Visual Studioのクイックアクションごとに、ReSharperは次の処理を行います。

  • 同様のReSharperのquick-fixがある場合、Visual Studioのクイックアクションは表示されません。

  • 同様のReSharperのquick-fixesがない場合、ReSharperのアクションリストでVisual Studioの動作が利用可能になります。特別なアイコン ThemedIcon YellowBulbVS Screen Gray を使用すると、Visual Studioのクイックアクションを認識できます。

必要に応じて、エディタでVisual Studioのエラー強調表示を無効にして、ReSharperで見つかったコードの問題のみが強調表示されるようにすることもできます。これを行うには、ReSharperオプションのコード・インスペクション | 設定ページでVisual Studioのスクイブルを抑制する...を選択します。

最終更新日: 2018年11月5日

関連事項