ソリューション全体の分析
ReSharper のソリューション全体の分析では、2 つの関連しているが異なる機能が実現します。
ソリューション全体のエラー / 警告モニタ: ReSharper 自身のインスペクションによって検出されたコンパイラーのエラー / 警告とエラー / 警告の両方で、ソリューション内のすべてのエラー / 警告を常に追跡できます。この機能は設計時コードインスペクションと連携して 2 つの利点をもたらします。
ソリューションにエラー / 警告が含まれていないことを確認するために、すべてのファイルを開く必要はありません。
パブリックメンバーを削除したり、その可視性を変更したりしても、現在のファイルのコードは正しいままですが、このメンバーがソリューションの他の場所で使用されている場合はどうなりますか? 例: メンバーの可視性を
public
からinternal
に変更したとします。現在のプロジェクト内でのみ使用されていると想定しています。この段階では、ReSharper は現在のファイルでエラーを検出しません。次に、ソリューション全体の分析をオンにする、実際にはエラーがあります。ソリューションの次のエラーにジャンプして、誰かがソリューションの別のプロジェクトからこのメンバーを使用していることを確認できます。
ソリューション全体のコードインスペクションは、ソリューション全体を分析することによってのみ検出できる問題(未使用のパブリックタイプとメンバー、未割り当てのパブリックフィールド、疑わしいタイプ変換など)を見つけるのに役立ちます。ソリューション全体の分析が有効になっている場合、ソリューション全体のインスペクションによって検出された問題は、他の問題と同様に開いたファイルでハイライトされ、特定のスコープでコードインスペクションを実行すると、インスペクション結果ウィンドウにも表示されます。
ソリューション全体の分析を可能にする
ソリューション全体の分析には、ソリューションの初期処理に時間がかかることがあるため、デフォルトでは無効になっています。新しいソリューションを開くたびに明示的にスイッチをオンにする必要があります。
On the Alt+R, O ), make sure that the コード分析を有効にする checkbox is selected, and click ソリューション全体の分析を可能にします。 Optionally, you can enable or disable warnings in the solution-wide analysis.
page of ReSharper options(必要に応じて、計算コストの高いインスペクションを有効にするを選択します。これにより、データフロー分析がオンになり、たとえば、null 可能性を計算するために追加のインスペクションが提供されます。
必要に応じて、警告を監視するを選択して、分析に警告を追加します。
オプションダイアログで保存をクリックして変更を適用し、ReSharper に保存場所を選択させるか、次へ保存リストを使用して変更を特定の設定レイヤーに保存します。詳細については、ReSharper 設定の管理と共有を参照してください。
Alternatively, you canright-click the circle indicator in the right corner of the status bar and use the context menu to toggle the solution-wide analysis. If the solution-wide analysis is off, just double-click the gray circle.
ソリューション全体の分析を有効にした後、いくつかの変更が行われます。
ステータスバーインジケーターは、分析の進行状況を表示します。分析が完了すると、インジケーターが緑色(エラー / 警告が見つからなかった場合)、オレンジ色(ソリューション全体の分析で警告が有効になっていて、ソリューションに警告がある場合)、または赤色(エラーが見つかった場合)に変わります。
サークルインジケータの左側の小さな領域は、エラー / 警告を含むソリューションファイルの数を示すために割り当てられます(存在する場合)。この領域をクリックすると、ソリューションの次のエラー / 警告に移動できます。
非プライベートメンバーのソリューション全体のコードインスペクションは、設計時コードインスペクションでも、特定のスコープでコードをインスペクションした場合でも利用可能になります。
ナビゲーションコマンドの名前とセマンティクスが変更されました。具体的には、次のエラー / 警告はソリューションの次のエラー / 警告に変更され、前のエラー / 警告はソリューションにおける前のエラー / 警告になります。
メニューの
ソリューションの警告を監視する
ソリューションで警告を監視すると、分析はより多くのリソースを消費し、大規模なソリューションでの ReSharper のパフォーマンスに影響を与える可能性があります。警告の監視を明示的に有効または無効にすることができます。
ソリューション全体の分析に警告を含める / 除外する
ソリューション全体の分析が有効になっている場合は、次のいずれかを実行します。
On the Alt+R, O ), use the 警告を監視する checkbox under ソリューション全体の分析を可能にします。
page of ReSharper options(ソリューションウィンドウのエラー / 警告のツールバーで、警告を監視する
をクリックします。
警告分析が有効になっている場合、分析を再開せずに、ソリューションのエラー / 警告ウィンドウで
をクリックして、ウィンドウおよびステータスバーインジケータで警告を表示または非表示にすることができます。
To stop monitoring warnings, clear the 警告を監視する checkbox on the page of ReSharper options( Alt+R, O ).
ソリューション全体の分析で警告が有効になっている場合は、次のように動作します。ソリューションにエラーがある限り、エラーのみが表示されます。未解決の警告は、最後のエラーが修正されたときにのみ表示されます。警告を無効にすると、最後のエラーが修正されるとステータスバーのインジケータが緑色に変わります。
エラー / 警告のリストを調べる
ソリューション全体の分析を有効にしている間は、ステータスバーのインジケータを使用してソリューション内のエラー / 警告を監視できますが、ソリューション内のすべてのエラー / 警告に関する詳細レポートをソリューションウィンドウのエラー / 警告で取得することもできます。
ソリューションで見つかったエラーのリストを表示する
以下のいずれか 1 つを実行します:
メインメニューの
を選択します。ステータスバーの右隅にある円形インジケータを右クリックし、リストからエラーを表示するビューを選択します。
円のインジケータをダブルクリックします。
どちらの方法でも、ソリューションウィンドウのエラー / 警告が開き、検出されたエラー / 警告のリストを表示したり、エントリをダブルクリックして関連するコードにナビゲートすることができます。
このウィンドウを開かなくても、Alt+F12 / Shift+Alt+F12 (
/ )を使用するか、ステータスバーインジケーターの左側にあるエラー / 警告の数をクリックするだけで、ソリューションのエラーを簡単にナビゲートできます。ソリューション全体の分析のパフォーマンス
ソリューション全体の分析の主な計算は、最初に有効にしたときに実行されます。ソリューションのサイズによっては、これらの計算に数秒から数十分かかることがあります。引き続き機能しますが、パフォーマンスが低下する可能性があります。
これらのグローバルな時間のかかる計算が終了すると、変更に応じて必要な増分分析のみが実行されます。
有効にすると、ソリューション全体の分析でもメモリが広範囲に使用される可能性があります。システムリソースの負荷が大きすぎることがわかった場合は、次のいずれかを実行できます。
ソリューション全体の分析をオフにしてから再びオンにする場合、ReSharper は初期計算の一部を繰り返す必要があり、時間がかかる場合があります。これを回避するには、代わりにソリューション全体の分析を一時停止して再開します。
ソリューション全体の分析を一時停止および再開する
ソリューションウィンドウのエラー / 警告のツールバーで、分析の一時停止
または継続分析
をクリックします。
ステータスバーの右隅にある円のインジケータを右クリックし、コンテキストメニューで分析の一時停止または継続分析を選択します。
ソリューションのエラー / 警告を無視する
ソリューション開発のある段階で、エラー / 警告が多すぎることがわかっている場合があります。ReSharper を使用すると、エラーまたはエラーを含むファイルを柔軟に無視し、ソリューション全体の分析結果に含めないようにすることができます。
このような項目はソリューションウィンドウのエラー / 警告のエラーリストから隠され、ステータスバーのインジケータの状態には影響しません。必要に応じて、これらの項目を無視して表示することができます。
特定のエラー / 警告を無視してソリューション全体の分析を許可する
ソリューションウィンドウのエラー / 警告で、検出された問題を選択するか、特定のファイル内のすべての問題を無視する場合は、このファイルを選択します。
ツールバーのエラーを無視する
をクリックします。
無視されたエラー / 警告を表示するには、ツールバーの無視されたエラー / 警告を表示する
をクリックします - ソリューションにすべてのエラー / 警告が表示されます。無視された項目は、取り消し線として表示されます。無視された項目をリストに表示することを選択しても、それらはステータスバーのインジケータには影響しません。
ソリューションの特定のエラー / 警告を無視しない
ソリューションウィンドウのエラー / 警告のツールバーで、無視されたエラー / 警告を表示する
をクリックします。
無視された項目またはファイルを選択します。そのようなアイテムは、横切って示されています。
選択した項目の無視を停止するには、エラーを無視して停止する
をクリックします。
この機能は、次の言語とテクノロジーでサポートされています。
C# の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語による ReSharper の対応するトピックを参照してください。
関連ページ:

コードインスペクション
ReSharper は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトしたり、ソリューション全体と同じくらい大きい特定のスコープ内のすべてのコードの問題を見つけたりするために使用されます。インスペクション ReSharper が提供するコードの種類を調べるには、異なる言語の ReSharper コードインスペクションの全リストをご覧ください。エディターでハイライ...

設計時にコードの問題を検出する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。また、JSLint、ESLint、TSLint から Javascript / Typescript コードの検証と修正をエディターで使用すること...

特定の範囲でコードの問題を見つける
設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。ただし、ReSharper を使用すると、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。必要に応じてインスペクション結果を共有することもできます。Visual Studio および ReSharper を起動せずに、コマンドラインから特定のスコープ内のコードをインスペクションすることもできます。開始コードインスペクショ...

ReSharper 設定の管理と共有
ReSharper は、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例: 記号のアイコンとチーム設定のコード形式を個人設定で保存し、これらの設定を自動的に組み合わせることができます。設定の特定のサブセットを VCS に保持することにより、チーム内の設定を同期できます。ReShar...

ソリューションウィンドウのエラー / 警告
このウィンドウには、ソリューション全体の分析中に検出されたソリューション全体のエラー / 警告のリストが表示されます。ソリューション全体の分析で、エラーのみを監視するか、エラーと警告の両方を監視するかを選択できます。ツールバーコントロール:ソリューションのエラーを分析するソリューション全体の分析のオン / オフを切り替えます。/

コードインスペクション設定の構成
コードアノテーションを使用して、ReSharper がコードをインスペクションする方法をカスタマイズすることもできます。設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押し...