ソリューション全体のコードインスペクション
JetBrains Rider の コードインスペクション のほとんどは、コードの問題を検出するために 1 ファイルのソースコードだけが必要です。 これらのインスペクションに加えて、JetBrains Rider はソリューション全体のスコープでのみ検出可能なコードの問題に対してソリューション全体のインスペクションを提供します。たとえば、未使用の非 private メンバーを検出するには、JetBrains Rider でソリューション全体を解析する必要があります。
ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。
簡易的なグローバル使用状況チェック: JetBrains Rider 設定 の ページで ソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示する を選択し、 Ctrl+Alt+S を実行します。
ソリューション全体解析: JetBrains Rider 設定 の ページで ソリューション全体の分析を有効化する を選択します Ctrl+Alt+S。
報告されたシンボルがソリューション内で直接使用されていない場合でも、リフレクションなどによって間接的に使用されている場合や、パブリック API として設計されている場合もあります。 これらのすべてのケースでは、次のいずれかの方法で、シンボルの使用状況チェックインスペクションを 抑制する必要があります。
推奨される方法は、暗黙的に使用されるシンボルに コードアノテーション属性を付与することです。 この目的のために、 [UsedImplicitly] 属性と [PublicAPI] 属性があります。これらは機能的には似ていますが、シンボルが実際にどのように使われているかを自分やチームメンバーが理解するのに役立ちます。
また、カスタム属性を使用してインスペクションの使用状況を抑制することもできます。 これを行うには、その属性の定義に [MeansImplicitUse] 属性を付けます。
そして最後に、特定の使用チェックインスペクションを、 抑制コメントまたは抑制属性を持つ他のコードインスペクションと同様に抑制することができます。
他のインスペクションと同様に、ソリューション全体のインスペクションも 無効化または 重要度レベルの変更ができます。 この操作は、インスペクションがハイライトしたコードの問題の Alt+Enter メニューから直接行えます。 また、JetBrains Rider 設定 の ページ Ctrl+Alt+S でもインスペクションの無効化・有効化や重要度レベルの変更ができます。ソリューション全体のインスペクションは 非公開アクセシビリティ ラベルで示されます。 なお、ソリューション全体のインスペクションでは「エラー」重要度を設定できません。
ソリューション全体の分析を有効化すると、ソリューション全体のインスペクションで検出された問題は、他の問題と同じように開いているファイルで ハイライトされ、 特定のスコープでコードインスペクションを実行すると 問題ウィンドウ にも表示されます。 ただし、 問題ツールウィンドウ Alt+6 の すべてのソリューションファイル タブには表示されません。
必要に応じて、ソリューション全体のインスペクションを無効にするか、 特定のプロジェクトの内部シンボルでソリューション全体のインスペクションのみを有効にすることができます。 これを行うには、プロジェクトプロパティダイアログの インスペクション ページにある ソリューション全体のインスペクション セレクターを使用します(プロジェクトを右クリックして プロパティ を選択します)。
このセレクターの値とは関係なく、JetBrains Rider オプションでソリューション全体の分析が無効化されている場合、ソリューション全体のインスペクションは無効化されることに注意してください。
JetBrains Rider は以下のソリューション全体のインスペクションを提供します:
インスペクション | 言語 | デフォルトの重大度 |
|---|---|---|
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 |