JetBrains Rider 2026.1 ヘルプ

ソリューション全体のコードインスペクション

JetBrains Rider のコードインスペクションのほとんどは、コードの問題を検出するために 1 つのファイルのソースコードのみを必要とします。これらのインスペクションに加えて、JetBrains Rider は、ソリューション全体のスコープでのみ検出可能なコードの問題に対して、ソリューション全体のインスペクションを提供します。

ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。

  • 簡略化されたグローバル使用状況チェック: JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページでソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示するを選択します。

  • ソリューション全体の分析 : JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページでソリューション全体の分析を可能にするを選択します。

報告されたシンボルがソリューション内で直接使用されていない場合でも、リフレクションなどによって間接的に使用されている場合や、パブリック API として設計されている場合もあります。これらのすべてのケースでは、次のいずれかの方法で、シンボルの使用状況チェックインスペクションを抑制する必要があります。

  • 推奨される方法は、暗黙的に使用されるシンボルをコードアノテーション属性で装飾することです。この目的には 2 つの属性があります。[UsedImplicitly][PublicAPI] です。これらは機能的には似ていますが、シンボルが実際にどのように使用されているかをチームメートに理解させます。

  • また、カスタム属性を使用してインスペクションの使用状況を抑制することもできます。これを行うには、その属性の定義に [MeansImplicitUse] 属性を付けます。

  • そして最後に、特定の使用チェックインスペクションを、抑制コメントまたは抑制属性を持つ他のコードインスペクションと同様に抑制することができます。

他のインスペクションと同様に、ソリューション全体のインスペクションの重大度レベルを無効化または変更することもできます。これは、インスペクションがハイライトするコードの問題に関する Alt+Enter メニューから直接実行できます。または、JetBrains Rider 設定のエディター | インスペクション重大度ページでインスペクションの重大度レベルを無効化 / 有効化または変更できます。Ctrl+Alt+S — ソリューション全体のインスペクションには非公開アクセシビリティラベルが付いています。ソリューション全体のインスペクションに「エラー」重大度を設定できないことに注意してください。

ソリューション全体の分析を有効にすると、ソリューション全体のインスペクションによって検出された問題は、他の問題と同じように開いているファイルでハイライトされ、特定のスコープ内でコードインスペクションを実行すると問題ウィンドウにも表示されます。ただし、問題ツールウィンドウ Alt+6すべてのソリューションファイルタブには表示されません。

必要に応じて、ソリューション全体のインスペクションを無効にするか、特定のプロジェクトの内部シンボルでソリューション全体のインスペクションのみを有効にすることができます。これを行うには、プロジェクトプロパティダイアログのインスペクションページにあるソリューション全体のインスペクションセレクターを使用します(プロジェクトを右クリックして Properties を選択します)。

このセレクターの値とは関係なく、JetBrains Rider オプションでソリューション全体の分析が無効になっている場合、ソリューション全体のインスペクションは無効になることに注意してください。

JetBrains Rider は、以下のソリューション全体のインスペクションを提供します。

インスペクション

言語

デフォルトの重大度

自動プロパティは取得専用にすることができます (非公開アクセシビリティ)

C#

提案

クラスを密閉することができます (non-inheritable) (非公開アクセシビリティ)

C#

無効

ローカル変数またはフィールドを定数に変換する (非公開アクセシビリティ)

C#

ヒント

フィールドは読み取り専用にすることができます (非公開アクセシビリティ)

C#

提案

メンバーはプライベートにすることができます (非公開アクセシビリティ)

C#

提案

メンバーを保護することができます (非公開アクセシビリティ)

C#

提案

メンバーは静的にすることができます (共有) (非公開アクセシビリティ)

C#

ヒント

パラメーターの型は IEnumerable <T> (非公開アクセシビリティ)

C#

無効

プロパティは init のみにすることができます (非公開アクセシビリティ)

C#

提案

戻り値の型は IEnumerable <T> (非公開アクセシビリティ)

C#

無効

構造体に 'IEquatable' 実装がありません (非公開アクセシビリティ)

C#

警告

デフォルトの等価メンバーを持つ構造体は比較に使用されます (非公開アクセシビリティ)

C#

警告

レコード内で疑わしい等価性を持つ型が使用されています (非公開アクセシビリティ)

C#

警告

オプションのパラメーターを導入する (非公開アクセシビリティ)

C#

提案

抽象または仮想(オーバーライド可能な)イベントが呼び出されることはありません

C#

提案

自動プロパティアクセサーは決して使用されません (非公開アクセシビリティ)

C#

警告

クラスはインスタンス化されません (非公開アクセシビリティ)

C#

提案

コレクションの内容が照会されることはありません (非公開アクセシビリティ)

C#

警告

コレクションは更新されません (非公開アクセシビリティ)

C#

警告

CQRS コンテキスト交差: コマンドはクエリコンテキストから呼び出されます: (宣言時に表示)

C#

警告

CQRS コンテキスト交差: コマンドはクエリコンテキストから呼び出されます: (使用状況を表示)

C#

警告

CQRS コンテキスト交差: クエリはコマンドコンテキストから呼び出されます: (宣言時に表示)

C#

警告

CQRS コンテキスト交差: クエリはコマンドコンテキストから呼び出されます: (使用状況を表示)

C#

警告

イベントは決して購読されない (非公開アクセシビリティ)

C#

提案

メソッドは両方の CQRS コンテキストから呼び出されます (宣言に表示する)

C#

警告

メソッドは両方の CQRS コンテキストから呼び出されます (使用状況を表示する)

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

ヒント

パラメーターの型は IEnumerable <T> (非公開アクセシビリティ)

VB.NET

無効

プロパティは init のみにすることができます (非公開アクセシビリティ)

VB.NET

提案

戻り値の型は IEnumerable <T> (非公開アクセシビリティ)

VB.NET

無効

構造体に 'IEquatable' 実装がありません (非公開アクセシビリティ)

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

提案

2024 年 9 月 25 日

関連ページ:

コードインスペクション

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

ソリューション全体の分析

JetBrains Rider のソリューション全体の分析により、2 つの関連しているが異なる機能が実現します。ソリューション全体のエラー / 警告モニター:JetBrains Rider 自身のインスペクションによって検出されたコンパイラーのエラー / 警告とエラー / 警告の両方で、ソリューション内のすべてのエラー / 警告を常に追跡できます。この機能は設計時コードインスペクションと連携して 2 つの利点をもたらします。ソリューションにエラー / 警告が含まれていないことを確認するために、す...

アノテーションを使用してコードインスペクションを改善する

コード検査などの JetBrains Rider の多くの機能は、問題を検出し、改善を提案し、他の方法でお手伝いするために、言語構成の動作を知ることに大きく依存しています。ただし、この種の分析ではすべてを検出できるわけではありません。例: メソッドがフォーマットメソッドとして設計されている場合、メソッドの呼び出しに必要な引数が含まれていない場合、構造解析では潜在的な問題は見つかりません。この場合や他の多くの場合、JetBrains Rider のは非常に役立ちます。このフレームワークで宣言された...

コードインスペクション設定を構成する

設計時コードインスペクションを構成する:デフォルトでは、JetBrains Rider はサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にすることができます。設計時コードインスペクションが有効かどうかにかかわらず、コードインスペクションを特定の範囲でいつでも実行できます。「鉛筆」ウィジェットを使用して、エディターから直接インスペクション設定をすばやく調整するか、設定でより詳細な構成を行うことができます。を押すか、メニューから (...

設計時にコードの問題を分析する

JetBrains Rider は、エディターでコードファイルを開くとすぐに、コードファイルが閉じられるまで分析を開始します。検出されたすべてのコードの問題は、重大度に応じてエディターでハイライトされます。問題のマップは、エディターウィンドウの右側のエラーストライプにも表示されます。ここでは、ファイルのステータスを即座に確認し、マークをクリックして特定のコードの問題に移動できます。デザインタイムインスペクションの機能:デザイン時のインスペクション機能は、Rider エディターの基本機能への主要...

特定の範囲でコードの問題を見つける

設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。しかし、JetBrains Rider では、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。開始コードインスペクション:ソリューション、プロジェクト、カスタムスコープのコードをインスペクションするソリューションワイドのインスペクションの結果(たとえば、未使用のパブリックメンバー)をレポートに含めるかどうかを決定する