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

コードインスペクション
ReSharper は、サポートされているすべての言語で 2500 を超えるコードインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出してハイライトするために適用されます。また、特定の範囲内のすべてのコードの問題を検出するために適用されます。インスペクション ReSharper が提供するコードの種類を調べるには、異なる言語の ReSharper コードインスペクションの全リストをご覧ください。コードインスペクションは、以下のグループに分...

設計時にコードの問題を分析する
ReSharper は、エディターでコードファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの問題は、重大度に従ってエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:ReSharper によって実行されるデザインタイムコードインスペクションを説明するために、エディターに...

特定の範囲でコードの問題を見つける
設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。ただし、ReSharper を使用すると、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。必要に応じてインスペクション結果を共有することもできます。開始コードインスペクション:ソリューション、プロジェクト、カスタムスコープのコードをインスペクションするソリューションワイドのインスペクションの結果(たとえば、未使用のパブ...

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

コードインスペクション設定を構成する
設計時コードインスペクションを構成する:デフォルトでは、ReSharper は、サポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかに関係なく、コードインスペクションは常に特定のスコープで実行できます。メインメニューからを選択するか、Alt+R O を押してから、左側のを選択します。設計時コードインスペクションを切り替えるには、コード分析を有効にするチェックボックスを使用し...

ASP.NET MVC 特有の機能
ReSharper には、一般的な ASP.NET 機能に加えて、ASP.NET MVC での作業をより簡単にサポートする特殊機能があります。構文のハイライト:ASP.NET MVC メソッド呼び出しとパラメーターの特別な構文のハイライト: コード補完:文字列リテラルでアクションとコントローラーを参照するための専用コード補完: ナビゲーションと検索:さまざまなナビゲーション機能がアクションとコントローラーでも機能します。コード生成:使用箇所から新しいコントローラーとアクションを作成する: 最終...