コードインスペクション
JetBrains Rider は、すべての対応言語で 2500 件以上のコードインスペクションを提供します。 これらのインスペクションは、すべての開いているファイルでコードの問題を検出し、デザイン時に ハイライトしたり、 特定のスコープ内で全てのコードの問題を見つけるために適用されます。スコープはソリューション全体ほど大きくすることもできます。
JetBrains Rider がどのようなコードインスペクションを提供しているかを知るには、さまざまな言語の JetBrains Rider コードインスペクションの全リスト をご覧ください。
コードインスペクションは、以下のグループに分類できます。
インスペクションは固定 重大度 'Error' です。 これらのインスペクションはコンパイラーのエラーを検出し、無効化または設定する方法はありません。
設定可能な 重要度レベルを持つインスペクションは、その他のコードの問題(例:コンパイラー警告、実行時・論理的エラー、コードの臭い、冗長、改善提案など)を検出します。 こうした設定可能なインスペクションは、JetBrains Rider 設定 の Ctrl+Alt+S ページで確認できます。 これらのインスペクションはさまざまな方法で 設定できます。検出された問題はコメントや属性で抑制したり、設定または .editorconfig ファイルで 無効化や重要度レベルの変更が可能です。
コードインスペクションの重大度レベル
各 JetBrains Rider コードインスペクションには、次の重要度レベルのいずれかがあります:
エラー
この重要度レベルを持つコードインスペクションは、コードのコンパイルを妨げたり、実行時エラーの原因になる問題を対象としています。 これらのインスペクションのほとんどは設定できず、無効化や重要度レベルの変更はできません。
デザインタイムインスペクションでは、JetBrains Rider は未解決シンボルを赤色で表示します:
![]()
間違ったステートメントやその一部に赤い波線の下線をハイライトします。

現在のファイルにエラーが 1 つ以上ある場合、 ステータスインジケーターに エラー
アイコンが表示され、 エラーストライプで各エラーに赤いマーカーが表示されます。
「エラー」重大度レベルのインスペクションで検出されたコードの問題は、 ソリューション全体の分析 が有効になっている場合、 問題ツールウィンドウ Alt+6 の すべてのソリューションファイル タブに表示されます。
警告
この重大度レベルは、コンパイラーの警告、コードのコンパイルを妨げないが、それでも深刻なコーディングの非効率性を表す可能性があるその他の問題に対応しています。 たとえば、JetBrains Rider は冗長な型キャストや名前空間インポートディレクティブ、誤ったフォーマット文字列、宣言されているが未使用のローカル変数やプライベートフィールド、未使用のプライベートメソッドなどについて通知します。
デザインタイムインスペクションでは、JetBrains Rider は灰色のテキストで冗長なシンボルを表示します:

ステートメントまたはその一部を黄色の波線でハイライトします。

現在のファイルに少なくとも 1 つの警告がある場合、ステータスインジケーターは 警告
アイコンを表示し、エラーストライプ 上の各警告に黄色のマーカーが表示されます。
警告付きの ソリューション全体の分析 が有効になっている場合、警告は 問題ツールウィンドウ Alt+6 の すべてのソリューションファイル タブにも表示されます。
提案
この重大度レベルのコードの問題は、コード構造のインサイトを提供し、必ずしも悪いことではないが間違っていることに注意を喚起しますが、おそらく知っておくと便利です。
デザインタイムインスペクションでは、JetBrains Rider は緑色の波下線で提案をハイライトします:

エラーストライプ 上の各警告に緑色のマーカーを追加します。
ヒント
これは最も低い重大度です。 この重大度のコードの問題は、特定のコードの詳細に注意を促し、改善方法を推奨します。
デザインタイムインスペクションでは、JetBrains Rider は対応するシンボルの最初の 2 文字に点線の緑色下線を追加してヒントをハイライトします:

エラー、警告、提案とは異なり、 エディターでコードの問題間を移動する際にヒントは考慮されず、エラーストライプ には表示されません。
ハイライトされたヒントの上にキャレットを置くと、ポップアップは表示されず、対応するメッセージがステータスバーにのみ表示されることに注意してください。
特定のスコープ内のコードをインスペクションすると、JetBrains Rider は検出された問題に対応するアイコンを追加し、問題ウィンドウ で重要度レベルによって問題を並べ替えられます。
コードインスペクションのカテゴリ
JetBrains Rider は、構成可能なコードインスペクションを複数のカテゴリにグループ化します。 これらのカテゴリは、インスペクションの目的と、検出されるコードの問題の種類を大まかに定義します。 カテゴリは、JetBrains Rider 設定 Ctrl+Alt+S の ページでコードインスペクションをグループ化したり、特定のスコープで検出されて 問題ウィンドウ に表示されるコードの問題をグループ化したりするのに使われます。
- 潜在的なコード品質の問題
このカテゴリには、主に エラーまたは 警告レベルで重大な問題(コードの臭い)を検出するインスペクションが含まれます。 このカテゴリには ローカライゼーション支援を保証するインスペクションも含まれます。
- 一般的なプラクティスとコードの改善
このカテゴリには、主にコードの可読性に影響する中程度の重大さの問題を検出するインスペクションがまとめられています。
- コードの冗長性
このカテゴリのコードインスペクションは、コードの可読性やスタイルに影響し、安全に削除できる冗長性やデッドコードを検出します。 一部のコードの冗長性は自動的に修正できず、それらのクイックフィックスは対話モードで実行され、ユーザー入力が必要です。 ただし、冗長性の多くはユーザー操作なしで、 スコープ内の修正 または コードのクリーンアップ を使用して修正できます。
- 言語の使用機会
このカテゴリには主に suggestion重要度レベルのコードインスペクションが含まれており、より高度な言語構文が使用できる場合に通知します。 これらのインスペクションは、古い言語バージョンの構文を検出し、より新しいバージョンの機能の利用を提案します。 ほとんどの対応言語では、言語バージョン は自動検出または手動で設定できます。
- コード通知
このカテゴリには、重要度レベルが低いコードインスペクションがまとめられています。
- コードスタイル
このカテゴリのインスペクションでは、 コード構文スタイルの違反を検出します。 多くのコードインスペクションとは対照的に、これらのインスペクションは、 ページの JetBrains Rider 設定 Ctrl+Alt+S で設定された対応するコードスタイルルールにより、同じコード構造をコードの問題として検出するかどうかが決まります。 また、これらのインスペクションが検出した問題は コードのクリーンアップ を使って修正することもできます。
- 制約違反
このカテゴリには、主に 警告の重要度レベルで、シンボル属性や JetBrains Rider のコードアノテーションなどに関する違反やその他の類似した問題を検出するコードインスペクションが含まれています。
- シンボル宣言の冗長性
このカテゴリには、空および未使用のシンボル宣言を検出するための、主に 警告重要度レベルのコードインスペクションが含まれています。
- コンパイラーの警告
このカテゴリのインスペクションは、コンパイル前にコンパイラー警告を検出します。
- スペルの問題
これらのインスペクションは さまざまなコンテキストでタイプミスを検出します。
- NUnit
これらのインスペクションは NUnit テストに関連するコードの問題を検出します。
- Xunit
これらのインスペクションは xUnit.Net テストに関連するコードの問題を検出します。
- フォーマット
このカテゴリのインスペクションは、 コードフォーマットの問題を検出します。
- Clang-Tidy チェック
このカテゴリのインスペクションは、 Clang-Tidy が提供しています。 JetBrains Rider と統合された強力なオープンソースのコード解析ツールです。
- Clang
このカテゴリのインスペクションは、Clang コンパイラー警告 統合済みを JetBrains Rider で扱うものです。
- Clang Static Analyzer のチェック
このカテゴリのインスペクションは、Clang 静的アナライザーが 統合されている JetBrains Rider からの診断です。
すべての静的アナライザーチェックはデフォルトで無効化されています。なぜなら、有効化すると Clang-Tidy の動作が大幅に遅くなるためです。
- Unreal Engine
このカテゴリのインスペクションは、 Unreal Engine プロジェクトに固有です。
- Unreal ビルドシステム
このカテゴリのインスペクションは、 Unreal Engine プロジェクトに固有です。
- Unity
このカテゴリのインスペクションは、 Unity(英語) プロジェクトに固有のコードの問題を報告します。
- Unity Burst コンパイラーの警告
このカテゴリのインスペクションは、コードが実際にコンパイルされる前に Unity バーストコンパイラー(英語)の警告を報告します。
- Unity パフォーマンスインスペクション
このカテゴリのインスペクションは、計算効率の悪いパターン Unity(英語) プロジェクトを報告します。
構成可能コードインスペクションの識別子
構成可能な各コードインスペクションには、構成に使用できる 2 つの固有の識別子があります。 例として 可能性のある 'System.NullReferenceException' インスペクションを考えてみましょう:
- インスペクション ID
コメントで単一の問題のインスペクションを 抑制するために使用します:
// ReSharper disable once PossibleNullReferenceExceptionコメントからファイルの最後までに適用します:
// ReSharper disable PossibleNullReferenceExceptionまたは、型またはメソッドに属性を付与する方法もあります:
[SuppressMessage("ReSharper", "PossibleNullReferenceException")]。
- インスペクション EditorConfig プロパティ
.editorconfig ファイルからインスペクションを 設定するために使用できます。 たとえば、次の行でインスペクションの重要度レベルを エラーに変更できます:
resharper_possible_null_reference_exception_highlighting=error
コードインスペクションインデックス の中で各々の構成可能なインスペクションのための識別子を見つけることができます - ただ言語ページを選んで、それから望ましいインスペクションの詳細を見つけるためにブラウザー検索を使うこと。