ソリューション全体のコードインスペクション
ReSharper のコードインスペクションのほとんどは、コードの問題を検出するために 1 つのファイルのソースコードのみを必要とします。これらのインスペクションに加えて、ReSharper は、ソリューション全体のスコープでのみ検出可能なコードの問題に対して、ソリューション全体のインスペクションを提供します。
ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。
簡略化されたグローバル使用状況チェック: ReSharper オプション Alt+R, O の ページでソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示するを選択します。
ソリューション全体の分析 : ReSharper オプション Alt+R, O の ページでソリューション全体の分析を可能にするを選択します。
報告されたシンボルがソリューション内で直接使用されていない場合でも、リフレクションなどによって間接的に使用されている場合や、パブリック API として設計されている場合もあります。これらのすべてのケースでは、次のいずれかの方法で、シンボルの使用状況チェックインスペクションを抑制する必要があります。
推奨される方法は、暗黙的に使用されるシンボルをコードアノテーション属性で装飾することです。この目的には 2 つの属性があります。[UsedImplicitly] と [PublicAPI] です。これらは機能的には似ていますが、シンボルが実際にどのように使用されているかをチームメートに理解させます。
また、カスタム属性を使用してインスペクションの使用状況を抑制することもできます。これを行うには、その属性の定義に [MeansImplicitUse] 属性を付けます。
そして最後に、特定の使用チェックインスペクションを、抑制コメントまたは抑制属性を持つ他のコードインスペクションと同様に抑制することができます。
他のインスペクションと同様に、ソリューション全体のインスペクションの重大度レベルを無効にしたり変更したりすることもできます。これは、インスペクションがハイライトするコードの問題の Alt+Enter メニューから直接実行できます。または、ReSharper オプション Alt+R, O の ページでインスペクションの重大度レベルを無効 / 有効にしたり変更したりすることもできます。ソリューション全体のインスペクションには非公開アクセシビリティラベルが付いています。ソリューション全体のインスペクションに「エラー」重大度を設定することはできないことに注意してください。
ソリューション全体の分析が有効になっている場合、ソリューション全体のインスペクションによって検出された問題は、他の問題と同じように開いているファイルでハイライトされ、特定のスコープでコードインスペクションを実行すると、インスペクション結果ウィンドウにも表示されます。ただし、ソリューションのエラー / 警告ウィンドウには表示されません。
必要に応じて、ソリューション全体のインスペクションを無効にするか、特定のプロジェクトの内部シンボルでソリューション全体のインスペクションのみを有効にすることができます。これを行うには、プロジェクトアイテムのプロパティポップアップのソリューション全体のインスペクションセレクターを使用します。これは、ソリューションエクスプローラーのプロジェクトのコンテキストメニューからプロジェクト項目のプロパティを編集するを選択することで呼び出すことができます。
このセレクターの値とは関係なく、ReSharper オプションでソリューション全体の分析が無効になっている場合、ソリューション全体のインスペクションは無効になることに注意してください。
ReSharper は、以下のソリューション全体のインスペクションを提供します。
インスペクション | 言語 | デフォルトの重大度 |
---|---|---|
C# | ||
クラスを密閉することができます (non-inheritable) (非公開アクセシビリティ) | C# | |
ローカル変数またはフィールドを定数に変換する (非公開アクセシビリティ) | C# | |
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
抽象または仮想(オーバーライド可能な)イベントが呼び出されることはありません | C# | |
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
C# | ||
エンティティはその名前を取得するためにのみ使用されます (非公開アクセシビリティ) | C# | |
C# | ||
パラメーターは前提条件チェックにのみ使用されます (非公開アクセシビリティ) | C# | |
C# | ||
冗長メソッドオーバーロード (非公開アクセシビリティ) | C# | |
C# | ||
C# | ||
C# | ||
型メンバーは上書きでのみ使用されます (非公開アクセシビリティ) | C# | |
C# | ||
C# | ||
VB.NET | ||
クラスを密閉することができます (non-inheritable) (非公開アクセシビリティ) | VB.NET | |
ローカル変数またはフィールドを定数に変換する (非公開アクセシビリティ) | VB.NET | |
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
抽象または仮想(オーバーライド可能な)イベントが呼び出されることはありません | VB.NET | |
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
エンティティはその名前を取得するためにのみ使用されます (非公開アクセシビリティ) | VB.NET | |
VB.NET | ||
パラメーターは前提条件チェックにのみ使用されます (非公開アクセシビリティ) | VB.NET | |
VB.NET | ||
VB.NET | ||
VB.NET | ||
VB.NET | ||
型メンバーは上書きでのみ使用されます (非公開アクセシビリティ) | VB.NET | |
VB.NET | ||
VB.NET | ||
JavaScript | ||
JavaScript | ||
ASP.NET | ||
ASP.NET | ||
XAML | ||
XAML | ||
XAML | ||
XAML | ||
XAML | ||
HttpHandler または WebService | ||
HttpHandler または WebService |
関連ページ:

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

ソリューション全体の分析
ソリューション全体の分析により、プロジェクトのコンパイルを妨げないものを含め、サポートされているすべての言語 C++ を除くでエラーが検出されます。プロジェクトにそのようなファイル (JavaScript、CSS、HTML など) が含まれている場合、ソリューション全体の分析は、実行時にしか検出できないエラーを見つけるのに役立ちます。ReSharper のソリューション全体の分析では、2 つの関連しているが異なる機能が実現します。ソリューション全体のエラー / 警告モニター:ReSharper 自...

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

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

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

コード検査: コレクションの内容が照会されることはありません (非公開アクセシビリティ)
ReSharper はあなたのコードで作成されたコレクションへのアクセスを分析し、コレクションが更新されてもその内容がソリューション全体で使用されていない場合は警告します。すべての標準コレクションタイプは、デフォルトでこの方法で分析されます。必要に応じて、この分析をから派生したカスタムコレクションに適用することもできます。この場合、ReSharper に、コレクションの public メソッドの呼び出しがコレクションのコンテンツにどのように影響するかを伝える必要があります。そのためには、コレクシ...