ReSharper 2019.1ヘルプ

設計時にコード問題を検出

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オプションのコード・インスペクション | 設定ページでアクションリストにコードインスペクションを表示するチェックボックスをオフにします。

同様の問題を見つける

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

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

  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アクションはVisual Studio電球アクションをReSharper電球にマージチェックボックスを選択することによってReSharperのアクションリストに統合することができます。選択されている場合、ReSharperは各Visual Studioのクイックアクションに対して次のことを行います。

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

最終更新日: 2019年5月14日

関連事項

関連ページ:

コード・インスペクション

ReSharperはすべてのサポートされている言語で2300コードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルで設計時にコードの問題を検出して強調表示するため、および/または特定の範囲内ですべてのコードの問題を見つけるために使用されます。エディターで強調表示さ...

マーカーバーとステータスインジケータ

Barマーカーとステータスインジケーターを使用すると、現在のファイル内の設計時コードインスペクションの結果を確認したり、コードの問題間を移動したりできます。また、マーカーバーには他のReSharperアイテムの特別なマークが表示されます。たとえば、ファイル内の使用箇所を強調表示します。次の場合、マー...

Web Linterでコードの検証

ReSharperは、Webコード品質ツール(linterとも呼ばれます) - JSLint、ESLint、およびTSLintと統合して、コード内のさらに多くの問題を検出して修正できます。Linters are designed as command-line tools, so normally...

不足している名前空間のインポート

ファイルに名前空間がインポートされていない型を使用する場合、ReSharperはこれらの型を見つけて不足している名前空間インポートディレクティブを追加できます。たとえば、ファイルにコードのブロックを貼り付けた後など、未解決の型にいくつかの不足している名前空間がある場合、ReSharperはこれらすべ...

アクションインジケータとアクションリスト

Alt+EnterReSharperがVisual Studioのテキストエディターに追加する最も目立つものは、アクションインジケータとアクションリストです。ReSharper(C#、VB.NET、XML、CSS、JavaScript、ASP.NETなど)でサポートされているすべてのファイルに表示さ...

コードの問題のクイックフィックス

ReSharperを使用すると、設計時に検出されたほとんどのコード問題を即座に修復できます。強調表示されたコードの問題でAlt+Enterを押して、問題を解決したり最適以下のコードを改善したりするための適切な方法を選択するのと同じくらい簡単です。このトピックの内容:クイックフィックスの適用Visua...