JetBrains Rider 2024.1 ヘルプ

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

JetBrains Rider のソリューション全体の分析により、2 つの関連しているが異なる機能が実現します。

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

    • ソリューションにエラー / 警告が含まれていないことを確認するために、すべてのファイルを開く必要はありません。

    • パブリックメンバーを削除したり、その可視性を変更したりしても、現在のファイルのコードは正しいままですが、このメンバーがソリューションの他の場所で使用されている場合はどうなりますか? 例: メンバーの可視性を public から internal に変更したとします。現在のプロジェクト内でのみ使用されていると想定しています。この段階では、JetBrains Rider は現在のファイルでエラーを検出しません。次に、ソリューション全体の分析をオンにする、実際にはエラーがあります。ソリューションの次のエラーに移動して、誰かがソリューションの別のプロジェクトからこのメンバーを使用していることを確認できます。

  • ソリューション全体のコードインスペクションは、ソリューション全体を分析することによってのみ検出できる問題 (未使用のパブリック型とメンバー、割り当てられていないパブリックフィールド、疑わしい型変換など) を見つけるのに役立ちます。ソリューション全体の分析が有効になっている場合、ソリューション全体のインスペクションによって検出された問題は、他の問題と同じように開いているファイルでハイライトされ、特定のスコープでコードインスペクションを実行すると、インスペクション結果ウィンドウにも表示されます。

ソリューション全体の分析では、現在のソリューション構成に組み込まれていないプロジェクトのエラーは監視されないことに注意してください。

JetBrains Rider: Solution-wide analysis doesn't monitor errors in projects that are not built

ソリューション全体の分析を可能にする

ソリューション全体の分析は、ソリューションの初期処理に時間がかかる場合がありますが、完了すると、バックグラウンドで機能し、多くのリソースを消費しません。非常に大規模なソリューションがあり、パフォーマンスの問題が発生する場合は、ソリューション全体の分析を無効にすることをお勧めします。

  1. JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページで、コード分析を有効にするチェックボックスが選択されていることを確認し、ソリューション全体の分析を可能にするをクリックします。オプションで、ソリューション全体の分析で警告を有効または無効にできます。

  2. 必要に応じて、計算コストの高いインスペクションを有効にするを選択します。これにより、データフロー分析がオンになり、たとえば、null 可能性を計算するために追加のインスペクションが提供されます。

  3. 必要に応じて、警告を監視するを選択して、分析に警告を追加します

  4. 設定ダイアログで保存をクリックして変更を適用し、JetBrains Rider が変更を保存する場所を選択できるようにするか、保存セレクターからこのレイヤーを選択して特定の設定レイヤーに変更を保存します。詳細については、「レイヤーベースの設定」を参照してください。

または、ステータスバーの右隅にある円のインジケーターをクリックし、コンテキストメニューを使用して、ソリューション全体の分析を切り替えることもできます。

ソリューション全体の分析をオンにした後、いくつかの変更が行われます。

  • ステータスバーインジケータは、分析の進行状況を表示します。分析が完了すると、インジケーターは緑色(エラー / 警告が見つからなかった場合)、オレンジ色(ソリューション全体の分析で警告が有効になっている場合、およびソリューションに警告がある場合)、赤色(エラーが検出された場合)に変わります。

    Solution-wide analysis indicator
  • サークルインジケータの左側の小さな領域は、エラー / 警告を含むソリューションファイルの数を示すために割り当てられます(存在する場合)。この領域をクリックすると、ソリューションの次のエラー / 警告に移動できます。

  • JetBrains Rider がエラーを検出したファイルとそのすべての親アイテムは、ソリューションエクスプローラーで赤い下線でハイライトされます。

    JetBrains Rider: error highlighting in the Solution Explorer
  • 非プライベートメンバーのソリューション全体のコードインスペクションは、設計時コードインスペクションでも、特定のスコープでコードをインスペクションした場合でも利用可能になります。

ソリューションの警告を監視する

ソリューションで警告を監視すると、分析はより多くのリソースを消費し、大規模なソリューションのパフォーマンスに影響を与える可能性があります。警告の監視を明示的に有効または無効にすることができます。

ソリューション全体の分析に警告を含める / 除外する

  • ソリューション全体の分析が有効になっている場合は、次のいずれかを実行します。

    • JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページで、ソリューション全体の分析を可能にする 警告を監視するチェックボックスを使用します。

    • 問題ツールウィンドウ Alt+6すべてのソリューションファイルタブのツールバーで、 をクリックしてから、警告をクリックします。

  • 警告の監視を停止するには、JetBrains Rider 設定 Ctrl+Alt+Sエディター | インスペクション設定ページにある警告を監視するチェックボックスをオフにします。

ソリューション全体の分析で警告が有効になっている場合、次のように機能します。ソリューションにエラーがある限り、エラーのみが表示されます。未解決の警告は、最後のエラーが修正された場合にのみ表示されます。警告が無効になっている場合、最後のエラーが修正されるとすぐにステータスバーインジケータが緑色に変わります。

エラー / 警告のリストを調べる

ソリューション全体の分析が有効になっている間、ステータスバーインジケーターを使用してソリューションのエラー / 警告を監視できますが、問題ツールウィンドウ Alt+6すべてのソリューションファイルタブで、ソリューションのすべてのエラー / 警告に関する詳細なレポートを取得することもできます。

ソリューションのエラー / 警告のリストを表示する

  1. 以下のいずれか 1 つを実行します:

    • メインメニューから表示 | ツールウィンドウ | 問題を選択するか、Alt+6 を押してから、すべてのソリューションファイルタブに切り替えます。

    • ステータスバーの右隅にある円のインジケーターをクリックし、リストからツールウィンドウにエラーを表示を選択します。

    • 円のインジケータをダブルクリックします。

  2. いずれの場合も、問題ツールウィンドウ Alt+6すべてのソリューションファイルタブが開き、検出されたエラー / 警告のリストを表示し、エントリをダブルクリックして関連するコードに移動できます。

    JetBrains Rider: Errors in Solution view

このウィンドウを開かなくても、Alt+F2/ Alt+Shift+F2 を使用するか、ステータスバーインジケーターの左側にあるエラー / 警告の数をクリックするだけで、ソリューション内のエラーを簡単に移動できます。

分析から特定のフレームワークを除外する

特定のフレームワークからのコードの問題のみに関心がある場合は、これらの問題に焦点を合わせ、他のフレームワークからの問題を無視することができます。これは、次の 2 つの場合に役立ちます。

  • ソリューション内のさまざまなプロジェクトがさまざまなフレームワークをターゲットにしていて、ターゲットフレームワークに従って一部のプロジェクトを無視したい場合。

  • プロジェクトが複数のフレームワークを対象とし、それらのフレームワークの一部のみが関連する場合。

どちらの場合も、問題ツールウィンドウ Alt+6すべてのソリューションファイルタブで表示オプション をクリックし、フレームワークで目的のアイテムを選択します。

JetBrains Rider: Exclude specific frameworks from solution-wide analysis

上記の例では、ソリューション全体の分析からのエラーには未解決の ArgumentException のみが含まれ、エディターは未解決の Exception をハイライトしていることに注意してください。これは、現在のプロジェクトの設計時インスペクションのターゲットフレームワークが、ソリューション全体の分析のためにターゲットフレームワークとは独立して構成されているために発生します。

ソリューション全体の分析のパフォーマンス

ソリューション全体の分析の主な計算は、最初に有効にしたときに実行されます。ソリューションのサイズによっては、これらの計算に数秒から数十分かかる場合があります。引き続き作業を続けることはできますが、パフォーマンスが低下する可能性があります。

これらのグローバルな時間のかかる計算が終了すると、変更に応じて必要な増分分析のみが実行されます。

有効にすると、ソリューション全体の分析でもメモリが広範囲に使用される可能性があります。システムリソースの負荷が大きすぎることがわかった場合は、次のいずれかを実行できます。

ソリューション全体の分析をオフにしてから再度オンにすることにした場合、JetBrains Rider は初期計算の一部を繰り返す必要があり、時間がかかる場合があります。これを回避するには、代わりにソリューション全体の分析を一時停止して再開できます。

ソリューション全体の分析を一時停止および再開する

  • ステータスバーの分析インジケーターをクリックし、コンテキストメニューで分析の一時停止または継続分析を選択します。

ソリューションのエラー / 警告を無視する

ソリューション開発のある段階で、エラー / 警告が多すぎることがわかっている場合があります。JetBrains Rider を使用すると、エラーまたはエラーを含むファイルを柔軟に無視し、ソリューション全体の分析結果に含めないようにすることができます。

このような項目は、問題ツールウィンドウ Alt+6すべてのソリューションファイルタブのエラーリストから非表示になり、ステータスバーインジケーターの状態には影響しません。必要に応じて、これらのアイテムを無視して表示するのを停止ことができます。

ソリューション全体の分析で特定のエラー / 警告を無視できるようにする

  1. 問題ツールウィンドウ Alt+6すべてのソリューションファイルタブで、検出された問題を選択するか、特定のファイル内のすべての問題を無視する場合は、このファイルを選択します。

  2. 選択したアイテムを右クリックして、エラーを無視する ThemedIcon.IgnoreErrors.Screen.(Gray).png を選択します。

  3. 無視されたエラー / 警告を表示するには、ツールバーの をクリックしてから、無視されたアイテムをクリックします。ソリューションにすべてのエラー / 警告が表示され、無視された項目は取り消し線で示されます。無視された項目をリストに表示することを選択した場合でも、ステータスバーのインジケーターには影響しません。

  4. アイテムの無視を停止するには、アイテムを右クリックしてエラーを無視して停止する ThemedIcon.IgnoreErrors.Screen.(Gray).png を選択します。

関連ページ:

コードインスペクション

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

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

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

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

JetBrains Rider のコードインスペクションのほとんどは、コードの問題を検出するために 1 つのファイルのソースコードのみを必要とします。これらのインスペクションに加えて、JetBrains Rider は、ソリューション全体のスコープでのみ検出可能なコードの問題に対して、ソリューション全体のインスペクションを提供します。ソリューション全体のインスペクションを機能させるには、次の少なくとも 1 つを有効にする必要があります。簡略化されたグローバル使用状況チェック: JetBrains...

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

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

ビルド構成

.NET プログラムの開発ユニットはプロジェクトであり、ソリューションに編成されます。ビルド管理も同じ原則に従っているため、ビルド設定はプロジェクト構成に格納され、ソリューション構成によって管理されます。プロジェクトビルドの設定:プロジェクト構成では、コードを最適化するかどうかやデバッグ情報を含めるかどうかなど、プロジェクトをビルドする方法を定義します。プロジェクトの種類によって、ビルドプロパティのセットが異なります。プロジェクトに複数のビルド構成を設定して、異なるプラットフォームや目的で同じ...

レイヤーベースの設定

Rider 設定ダイアログでは、ページアイコンを見て、特定のページに使用されている設定管理メカニズムを確認できます。任意のアイコンでマークされていないページは、ユーザープロファイルに保存されている IDE 設定をホストします。レイヤーベースの設定は ReSharper と互換性があるため、ReSharper を使用している場合、チームメンバーのいずれかがそれを使用している場合、Rider は ReSharper で構成した設定を読み取って適用できます。「ソリューションパーソナル」および「ソリュ...