JetBrains Rider 2024.1 ヘルプ

コードインスペクション

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

インスペクション JetBrains Rider が提供するコードの種類を調べるには、異なる言語の JetBrains Rider コードインスペクションの全リストをご覧ください。

コードインスペクションは、以下のグループに分類できます。

  • インスペクションは固定重大度 'Error' です。これらのインスペクションはコンパイラーのエラーを検出し、無効化または設定する方法はありません。

  • 残りのコードの問題 (たとえば、コンパイラーの警告、実行時エラーと論理エラー、コードのにおい、冗長性、改善提案など) を検出する、構成可能な重大度レベルを持つインスペクション。これらの設定可能なインスペクションは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション重大度ページにあります。これらのインスペクションは、いくつかの方法で構成できます。検出された問題をコメントと属性で抑制したり、無効にしたり、設定または .editorconfig ファイルで重大度レベルを変更したりできます。

コードインスペクションの重大度レベル

各 JetBrains Rider コードインスペクションには、次の重大度のいずれかがあります。

エラー

この重大度レベルのコードインスペクションは、コードのコンパイルを妨げたり、実行時エラーを引き起こしたりするコードの問題を対象としています。これらのインスペクションのほとんどは構成可能ではありません。つまり、無効にしたり、重大度レベルを変更したりすることはできません。

デザインタイムインスペクションでは、JetBrains Rider は未解決シンボルを赤色で表示します。

JetBrains Rider: Design-time code inspection

間違ったステートメントやその一部に赤い波線の下線をハイライトします。

JetBrains Rider: Design-time code inspection

現在のファイルに少なくとも 1 つのエラーがある場合、ステータスインジケーターエラー ThemedIcon.ErrorStripeError.Screen.(Gray).png アイコンが表示され、エラーストライプの各エラーに赤いマーカーが表示されます。

「エラー」重大度レベルのインスペクションで検出されたコードの問題は、ソリューション全体の分析が有効になっている場合、問題ツールウィンドウ Alt+6すべてのソリューションファイルタブに表示されます。

警告

この重大度レベルは、コンパイラーの警告、コードのコンパイルを妨げないが、それでも深刻なコーディングの非効率性を表す可能性があるその他の問題に対応しています。例: JetBrains Rider は、冗長な型キャストまたは名前空間インポートディレクティブ、誤ったフォーマット文字列、宣言されているが使用されていないローカル変数またはプライベートフィールド、未使用のプライベートメソッドなどについて通知します。

デザインタイムインスペクションでは、JetBrains Rider は灰色のテキストで冗長記号を表示します。

JetBrains Rider: Design-time code inspection

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

JetBrains Rider: Design-time code inspection

現在のファイルに少なくとも 1 つの警告がある場合、ステータスインジケータには警告 ThemedIcon.ErrorStripeWarning.Screen.(Gray).png アイコンが表示され、エラーストライプの警告ごとに黄色のマーカーが表示されます。

警告付きのソリューション全体の分析が有効になっている場合、警告は問題ツールウィンドウ Alt+6すべてのソリューションファイルタブにも表示されます。

提案

この重大度レベルのコードの問題は、コード構造のインサイトを提供し、必ずしも悪いことではないが間違っていることに注意を喚起しますが、おそらく知っておくと便利です。

デザインタイムインスペクションでは、JetBrains Rider は、緑色の波線の下線付きの提案をハイライトします。

JetBrains Rider: Design-time code inspection

エラーストライプの各警告に緑色のマーカーを追加します。

ヒント

これは最も低い重大度です。この重大度のコードの問題は、特定のコードの詳細に注意を促し、改善方法を推奨します。

デザインタイムインスペクションでは、JetBrains Rider は対応するシンボルの最初の 2 文字に点線の緑の下線を追加してヒントをハイライトします。

JetBrains Rider: Design-time code inspection

エラー、警告、提案とは異なり、エディターでコードの問題間を移動するときにヒントは考慮されず、エラーストライプには表示されません。

ハイライトされたヒントの上にキャレットを置くと、ポップアップは表示されず、対応するメッセージがステータスバーにのみ表示されることに注意してください。

特定のスコープでコードをインスペクションすると、JetBrains Rider は検出された問題に対応するアイコンを追加し、インスペクション結果ウィンドウで問題を重大度レベルでソートできるようにします。

コードインスペクションのカテゴリ

JetBrains Rider は、構成可能なコードインスペクションをいくつかのカテゴリ別にグループ化します。これらのカテゴリは、インスペクションの目的と、インスペクションが検出するコードの問題の種類を大まかに定義しています。カテゴリは、JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定 | インスペクション重大度ページでコードインスペクションをグループ化し、特定の範囲で見つかってインスペクション結果ウィンドウに表示されるコードの問題をグループ化するために使用されます。

潜在的なコード品質問題

このカテゴリには、主にエラーまたは警告レベルで重大な問題(コードのにおい)を検出するインスペクションが含まれます。このカテゴリには、ローカライゼーションの支援を確実にするインスペクションも含まれます。

一般的なプラクティスとコードの改善

このカテゴリは、主にコードの可読性に影響する中程度の重大度の問題を探し出すインスペクションをグループ化します。

コードの冗長性

このカテゴリのコードインスペクションは、コードの可読性とスタイルに影響を与える冗長性とデッドコードを探し、安全に削除できます。一部のコードの冗長性は自動的に修正できず、それらのクイックフィックスはインタラクティブモードで実行され、ユーザー入力が必要です。ただし、冗長性の大部分は、スコープ内の修正またはコードのクリーンアップを使用して、ユーザーの操作なしで修正できます。

言語使用の機会

このカテゴリには、コードインスペクションが含まれ、ほとんどの場合、より高度な言語構造を使用できる場合に通知する提案の重大度レベルが含まれます。これらのインスペクションは、古い言語バージョンの構文を検出し、より新しい言語バージョンの機能の使用を提案します。サポートされているほとんどの言語では、言語バージョンを自動的に検出するか、手動で設定できます

コード通知

このカテゴリは、コードインスペクションをマイナーな重大度でグループ化します。

コードスタイル

このカテゴリのインスペクションは、コード構文スタイルの違反を検出します。ほとんどのコードインスペクションとは対照的に、これらのインスペクションは、コードの問題として同じコード構成を検出するか、JetBrains Rider 設定 Ctrl+Alt+Sエディター | コードスタイル | [ 言語 ] | 構文スタイルページで構成された対応するコードスタイルルールに依存しないかのいずれかです。コードのクリーンアップを使用して、これらのインスペクションが検出した問題を修正することもできます。

制約違反

このカテゴリには、コードインスペクションが含まれ、ほとんどの場合、警告の重大度レベルがあり、JetBrains Rider のコードアノテーションなどのシンボル属性に関連する違反やその他の同様の問題が検出されます。

シンボル宣言の冗長性

このカテゴリにはコードインスペクションが含まれ、ほとんどが重大度レベルが警告であり、空の未使用のシンボル宣言を検出します。

コンパイラーの警告

このカテゴリのインスペクションは、コンパイルする前にコンパイラーの警告を検出します。

スペルの問題

これらのインスペクションは、さまざまな状況でタイプミスを検出します。

NUnit

これらのインスペクションは、NUnit テストに関連するコードの問題を検出します。

Xunit

これらのインスペクションは xUnit.Net テストに関連するコードの問題を検出します。

フォーマット

このカテゴリのインスペクションは、コードフォーマットの問題を検出します

Clang-Tidy チェック

このカテゴリのインスペクションは、JetBrains Rider と統合された強力なオープンソースコード分析ツールである Clang-Tidy(英語) によって提供されます。

Clang

このカテゴリのインスペクションは、JetBrains Rider に統合された Clang コンパイラーの警告に対応しています。

Clang スタティックアナライザーチェック

このカテゴリのインスペクションは、JetBrains Rider と統合された Clang 静的アナライザーからの診断です。

すべての静的アナライザーチェックはデフォルトで無効になっています。これを有効にすると Clang-Tidy が大幅に遅くなるからです。

Unreal Engine

このカテゴリのインスペクションは、Unreal Engine(英語) プロジェクトに固有のものです。

Unreal ビルドシステム

このカテゴリのインスペクションは、Unreal Engine(英語) プロジェクトに固有のものです。

Unity

このカテゴリのインスペクションは、Unity(英語) プロジェクトに固有のコードの問題を報告します。

Unity バーストコンパイラーの警告

このカテゴリのインスペクションは、コードが実際にコンパイルされる前に 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

コードインスペクションインデックスの中で各々の構成可能なインスペクションのための識別子を見つけることができます - ただ言語ページを選んで、それから望ましいインスペクションの詳細を見つけるためにブラウザー検索を使うこと。

構成可能なコードインスペクションのリスト

関連ページ:

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

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

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

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

コードインスペクションインデックス

このセクションには、JetBrains Rider の独自コードインスペクションがすべて含まれており、いずれも無効にしたり、重大度レベルを変更したりできます。これらのコードインスペクションは、開いているすべてのファイルの設計時にコードの問題を検出するのに役立ち、さらに特定のスコープ内でコードの問題を見つけることもできます。このセクションのトピックでは、コードインスペクションを言語別にグループ化しています。C# のコードインスペクション、VB.NET のコードインスペクション、C++ のコードイン...

アクションインジケーターとアクションリスト

Rider のテキストエディターで最も注目すべきことは、アクションインジケータとアクションリストです。これらは、JetBrains Rider によってサポートされるすべてのファイル(C#、VB.NET、XML、CSS、JavaScript、ASP.NET など)に表示され、使用可能なアクションについて通知し、それらの適用を支援します。アクションインジケータ:アクションインジケーターは、テキストエディターの左余白に表示されるアイコンです。これらのアイコンは、対応する行とキャレット位置で使用でき...

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

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

エラーストライプとステータスインジケータ

エラーストライプとステータスインジケータは、現在のファイルの設計時コードインスペクションの結果を視覚化し、コードの問題間を移動できます。また、エラーストライプには、ブックマークやハイライトされた使用箇所など、他の機能の特別なマークが表示されます。エラーストライプ:エラーストライプは、エディターのスクロールバーに統合されたサイドバーです。次の項目を個別のマーカーとして表示できます。JetBrains Rider の設計時インスペクションが発見したコードの問題。TODO アイテム、ファイル内のシン...