ReSharper 2019.2ヘルプ

ソリューションワイドコードインスペクション

ReSharperのコード インスペクションのほとんどは、コードの課題を検出するために単一ファイルのソースコードしか必要としません。これらのインスペクションに加えて、ReSharperはソリューション全体の範囲内でのみ検出可能なコード課題に対してソリューション全体のインスペクションを提供します - たとえば、未使用の非公開メンバーReSharperがソリューション全体を分析するために必要とする検出。

ソリューション全体のインスペクションを機能させるには、次のいずれかまたは両方が必要です。

  • 簡素化されたグローバル使用チェックが有効になります: ReSharperオプションのコード・インスペクション | 設定ページでソリューション全体の分析がオフの場合に、未使用の非プライベートタイプメンバーを表示するAlt+R,,O)。

  • ソリューション全体の分析が有効になっています: ReSharperオプションのコード・インスペクション | 設定ページでソリューション全体の分析を可能にするAlt+R,,O)。

シンボルがソリューションで直接使用されておらず、ReSharperがそれについて警告している場合でも、シンボルが間接的に(たとえばリフレクションを介して)使用されたり、単にパブリックAPIとして設計されたりする場合があることに注意してください: これらのすべての場合において、シンボルの使用状況チェックインスペクションを抑制したいと思うでしょう、、そうするいくつかの方法があります:

  • 推奨される方法は、暗黙的に使用されるシンボルをコード注釈属性で装飾することです。この目的には、[UsedImplicitly][PublicAPI]の2つの属性があります。これらは機能的には似ていますが、あなたのチームメイトはシンボルの実際の使用方法を理解することができます。

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

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

他のインスペクションと同様に、ソリューション全体のインスペクションの重大度レベルを無効化または変更 することもできます。これは、インスペクションが強調表示するコードの課題に関する Alt+Enter メニューから直接実行できます。または、ReSharperオプション(Alt+R,,O)のコード・インスペクション | インスペクション重大度ページでインスペクションの重大度レベルを無効化/有効化または変更できます。ソリューション全体のインスペクションには非公開アクセシビリティラベルが付いています。ソリューション全体のインスペクションに「エラー」重大度を設定できないことに注意してください。

ソリューション全体の分析が有効になっていると、ソリューション全体のインスペクションによって検出された課題は他の課題と同様に開いているファイルで強調表示され、特定のスコープでコードインスペクションを実行したときにもインスペクション結果ウィンドウに表示されます。ただし、ソリューションウィンドウのエラー/警告には表示されません。

必要に応じて、ソリューション全体のインスペクションを無効にするか、特定のプロジェクトの内部シンボルに対してソリューション全体のインスペクションのみを有効にすることができます。そのためには、プロジェクトアイテムのプロパティーポップアップのソリューションワイドインスペクションセレクターを使用します。これは、ソリューションエクスプローラーでプロジェクトのコンテキストメニューからプロジェクト項目のプロパティーを編集するを選択して呼び出すことができます。
このセレクタの値とは関係なく、ソリューション全体の分析がReSharperオプションで無効になっている場合、ソリューション全体のインスペクションは無効になります。

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

インスペクション

言語

デフォルトの重大度

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

C#

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

C#

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

C#

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

C#

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

C#

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

C#

提案
メンバーは静的(共有) (非公開アクセシビリティ)

C#

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

C#

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

C#

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

C#

提案
抽象または仮想(オーバーライド可能な)イベントは呼び出されません

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

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

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

提案
アクセスされていないフィールド (非公開アクセシビリティ)

ASP.NET

提案
タイプまたはメンバーが使用されることはありません (非公開アクセシビリティ)

ASP.NET

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

XAML

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

XAML

提案
アクセスされていないフィールド (非公開アクセシビリティ)

XAML

提案
タイプまたはメンバーが使用されることはありません (非公開アクセシビリティ)

XAML

提案
アクセスされていないフィールド (非公開アクセシビリティ)

HttpHandlerまたはWebService

提案
タイプまたはメンバーが使用されることはありません (非公開アクセシビリティ)

HttpHandlerまたはWebService

提案
最終更新日: 2019年10月15日

関連ページ:

コード・インスペクション

ReSharperはサポートされているすべての言語で2500以上のインスペクションを提供します。これらのインスペクションは、開いているすべてのファイルで設計時にコードの課題を検出して強調表示するため、および/または特定の範囲内ですべてのコードの課題を見つけるために使用されます。インスペクション Re...

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

ソリューション全体の分析では、プロジェクトのコンパイルを妨げないものを含め、サポートされているすべての言語でエラーが検出されます。プロジェクトにこのようなファイル(JavaScript、CSS、HTMLなど)が含まれている場合、ソリューション全体の分析は、それ以外の場合は実行時にのみ検出される可能性...

注釈を使用してコードインスペクションを絞り込む

コード検査や他の多くのReSharperの機能は、課題を検出し、改善を提案し、他の方法であなたを手助けするために、言語構成の動作を知ることに主に依存しています。しかし、この種の分析ではすべてを検出することはできません。例:メソッドがを返さないように設計されており、そのクライアントがそれに応じて設計さ...

コードインスペクションの設定

コード注釈を使用して、ReSharperがコードをインスペクションする方法をカスタマイズすることもできます。設計時コードインスペクションの設定:デフォルトでは、ReSharperはサポートされている言語に対応するすべてのファイルで設計時コードインスペクションを有効にします。必要に応じて、無効にするこ...

設計時にコード課題を検出

ReSharperは、エディターでコード・ファイルを開くとすぐに分析を開始し、最後まで編集を続けます。検出されたすべてのコードの課題は、重大度に従ってエディターで強調表示されます。課題のマップは、エディターウィンドウの右側のマーカーバーにも表示されます。ここでは、ファイルのステータスを即座に確認し、...

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

設計時コードインスペクションは、エディターでコーディングしたり、特定のファイルを見直したりするときに役立ちます。ただし、ReSharperを使用すると、ソリューション全体または狭い範囲でスタティックコード分析を実行し、結果をフレンドリーな視点で調べることもできます。必要に応じてインスペクション結果を...