ReSharper 2018.3ヘルプ

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

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 | インスペクション | 前のエラー/警告を選択します。

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

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

推奨される修正の他に、各構成可能コードインスペクションおよびカスタムインスペクションについて、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つの類似した提案があるかもしれません。下の図では、2つの電球が重複した using ディレクティブを削除することを提案しています。

Two light bulbs for fixing the same issue

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

Visual Studio電球が抑制されている場合、Visual Studio Light BulbアクションをReSharperバルブに結合するチェックボックスを選択することで、Visual StudioのアクションをReSharperのアクションリストに統合できます。選択されている場合、ReSharperは各Visual Studioのクイックアクションに対して次のことを行います。

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

最終更新日: 2019年3月12日

関連事項