ReSharper 2019.3ヘルプ

プロジェクト参照の分析と最適化

ReSharper | 検索 | 参照を最適化する...
Ctrl+Alt+Y
ReSharper_OptimizeReferences

この機能は、既存のプロジェクト/アセンブリ参照の管理、参照されているプロジェクト/アセンブリの使用箇所の参照、未使用の参照の削除を支援します。単一のプロジェクトでこの機能を呼び出すことができ、参照分析ウィンドウを使用してプロジェクト参照を分析および最適化することができます。

プロジェクト参照の分析

参照を分析するツールウィンドウには、現在のプロジェクトのプロジェクト/アセンブリ参照が表示され、参照がどの程度正確に使用されているかを調べることができます。特定のアセンブリ、名前空間、または型の使用箇所を調べるには、種類別にフィルタリングしてグループ化することができます。

シンボルアイコンは、さまざまな種類のシンボルを区別できます。各使用箇所は行番号と列とともに表示されます。アイコンが異なると、読み取り、書き込み、属性、または呼び出しの使用箇所など、さまざまな用途があります。使用方法をダブルクリックすると、ソースコードに直接移動できます。

プロジェクト参照を分析するには

  1. ソリューションエクスプローラーで、分析するプロジェクトまたはその参照ノードを選択します。

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

    • ReSharper | 検索 | 参照を最適化する...を選択

    • 選択範囲を右クリックし、コンテキストメニューで参照の最適化を選択します。

    • Ctrl+Alt+Yを押します。

  3. 参照分析ウィンドウのコントロールを使用して、プロジェクト参照を探索します。

    ReSharper: Analyzing and Optimizing Project References

未使用の参照の削除

プロジェクト参照をクリーンアップする最も簡単な方法は、ツールバーの未使用の参照をすべて削除する ThemedIcon RemoveAllUnusedReferences Screen Gray をクリックすることです。いくつかの使用されていない参照を保持するか、使用されている参照の一部を削除したい場合は、対応する選択を行い、選択した参照を削除する ThemedIcon RemoveSelectedReference Screen Gray をクリックします。

プロジェクトとアセンブリの参照を削除すると、ReSharperは、削除されたアセンブリから名前空間を参照する冗長な名前空間インポートディレクティブもすべて削除します。

すべてのVisual Studioプロジェクトは mscorlib を参照し、Visual Studio 2010から System.Core アセンブリを参照する必要があります。これらのアセンブリにはピン ThemedIcon Pin Screen Gray アイコンが付いており、これらの参照を削除することはできません。

使用するかどうかにかかわらず、コンパイルに必要な参照がコンパイラが必要とする参照グループに表示されます。このグループの参照には、通常、「関連する用途」、つまり暗黙の(非直接的な)用途があります。最も単純なケースでは、関連する用途は型階層によって引き起こされます。つまり、特定の型を使用する場合、その型のスーパータイプを含むすべてのアセンブリを参照する必要があります。

NuGetパッケージは、対応するアイコン ThemedIcon NuGet Screen Gray とともに表示されます。NuGetパッケージを削除するとき、ReSharperはNuGetアンインストールメカニズムを使用します。

プロジェクトとアセンブリ参照をクリーンアップする方法は2つあります。

  • 未使用の参照を削除するコマンドは、プロジェクトまたはソリューションエクスプローラーの参照ノードで呼び出すことができます。

  • ソリューションエクスプローラーで参照ノードを展開し、削除する参照を選択して安全な削除リファクタリングを呼び出します。これにより、使用されていない参照が確認なしで削除されるか、選択された参照がどこでどのように使用されるかを示すダイアログが開きます。

暗黙的にロードされたアセンブリへの参照の保持

一部のプロジェクトタイプは暗黙的に参照を使用します。つまり、これらの参照は実行時にのみ使用されます。これらの参照は、コードに依存していなくても安全に削除することはできません。

ReSharperクリーンアップ機能(参照分析ウィンドウおよび未使用の参照を削除するリファクタリングの 未使用の参照をすべて削除するボタン)を使用したい場合は、暗黙的にロードされたアセンブリをそのようにマークする必要があります。

暗黙的に読み込まれたアセンブリをマークするには

  1. 参照分析ウィンドウを開く

  2. 未使用のリファレンスセクションで、保持する必要がある暗黙的に使用される参照を見つけます。

  3. 参照を右クリックし、次のいずれかのオプションを選択します。

    • 実行時に使用される参照をマークする - 選択した参照を現在のプロジェクトのクリーンアップから除外する

    • 実行時にソリューション全体に対して使用される参照をマークする - 選択した参照をソリューション内のすべてのプロジェクトでクリーンアップから除外する

  4. ReSharperは、暗黙的に使用されている参照に関する情報を、その階層設定で(プロジェクトまたはソリューション用のいずれかの) *.DotSettings.user ファイルに保存します。

最終更新日: 2020年3月26日

関連ページ:

参照分析ウィンドウ

参照を分析するウィンドウは、参照の最適化コマンドを呼び出すときにプロジェクト参照を表示するために使用されます。使用されていないアセンブリ参照、使用されたアセンブリ参照、対応する用途、固定された参照が表示されます。ウィンドウタブ:ウィンドウ内で最適化参照コマンドの結果を開くと、左側に新しいタブが表示さ...

シンボルアイコンスキーム

コード補完リスト、リファクタリングまたはmember-generationダイアログ、および他の多くのUIコンテキストでは、ReSharperは使用されるシンボルの種類を視覚化するためにシンボルアイコンを表示します(たとえば、補完リストのメソッド、フィールド、または拡張メソッドを区別するため)。明る...

未使用の参照を削除する

このコマンドを使用すると、ソースコード内で実際に使用されていないプロジェクトおよびアセンブリ参照をクリーンアップすることができます。このコマンドは、プロジェクト、ソリューションフォルダー、またはソリューション全体で適用できます。削除が完了する前に、削除されるすべての参照を表示することができます。必要...

安全な削除リファクタリング

他のシンボルやプロジェクト/アセンブリ参照を削除する場合は、このリファクタリングを使用して、削除後にソリューションがコンパイルされるようにします。削除されたアイテムへの参照がない場合、またはすべての参照が安全に折りたたまれている場合、アイテムはすぐに削除されます。それ以外の場合は、ReSharper...

ReSharper設定の管理と共有

ReSharperは、階層化された設定のメカニズムを使用して環境設定を保存するため、次の利点があります。さまざまなソリューションで異なる設定を行うことができます。環境設定のさまざまなサブセットを別の場所に保存し、特定のソリューションで作業するときに環境設定を組み合わせることができます。例:記号のアイ...

NuGetパッケージの検索、探索、インストール

ReSharperを使用すると、NuGetパッケージギャラリーで型または名前空間を検索し、一致するパッケージをチェックし、その内容を分析し、目的のパッケージをインストールすることができます。NuGetパッケージの検索:NuGetパッケージの検索を開始する最も簡単な方法は、未解決の名前空間で使用できる...