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