ReSharper 2021.1 ヘルプ

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

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

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

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

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

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

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

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

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

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

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

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

    ReSharper: Analyzing and Optimizing Project References

未使用の参照を削除する

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

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

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

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

NuGet パッケージは、対応するアイコン Themed icon nu get screen gray とともに表示されます。色あせたアイコンは、パッケージに使用箇所がなく、安全に削除できることを意味します。NuGet パッケージを削除する場合、ReSharper は NuGet アンインストールメカニズムを使用します。

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

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

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

暗黙的に読み込まれたアセンブリへの参照を保持する

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

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

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

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

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

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

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

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

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

関連ページ:

参照分析ウィンドウ

参照を分析するウィンドウは、参照の最適化コマンドを呼び出すときにプロジェクト参照を表示するために使用されます。使用されていないアセンブリ参照、使用されたアセンブリ参照、対応する用途、固定された参照が表示されます。ウィンドウタブ:ウィンドウ内で最適化参照コマンドの結果を開くと、左側に新しいタブが表示されます。以前開いていたタブは、ウィンドウの幅が許せば右に移動し、それ以外の場合はメモリを節約しますが、タブの右側に表示されている矢印をクリックして必要なタブをクリックするタブがアンロードされないよう

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

コード補完リスト、リファクタリングまたは member-generation ダイアログ、および他の多くの UI コンテキストでは、ReSharper は使用されるシンボルの種類を視覚化するためにシンボルアイコンを表示します(たとえば、補完リストのメソッド、フィールド、または拡張メソッドを区別するため)。明るい UI テーマと暗い UI テーマを切り替えると、シンボルアイコンセットは自動的に変更されます。さらに、オプションページのソースコードシンボルアイコンテーマセレクターで希望のセットを選択できま...

未使用の参照を削除する | ReSharper

このコマンドを使用すると、ソースコード内で実際に使用されていないプロジェクトおよびアセンブリ参照をクリーンアップすることができます。このコマンドは、プロジェクト、ソリューションフォルダー、またはソリューション全体で適用できます。削除が完了する前に、削除されるすべての参照を表示することができます。必要に応じて、保持したいものを保存します。プロジェクトとアセンブリの参照を削除すると、ReSharper は、削除されたアセンブリから名前空間を参照する冗長な名前空間インポートディレクティブもすべて削除し...

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

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

ReSharper 設定の管理と共有 | ReSharper

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

プロジェクト階層を探索する | ReSharper

この機能を使用すると、参照され参照されているプロジェクトおよびソリューション内の特定のプロジェクトのアセンブリを分析できます。プロジェクト階層を表示するソリューションエクスプローラーでプロジェクトを選択します。メインメニューで選択するか、選択したプロジェクトを右クリックし、コンテキストメニューでプロジェクト階層を表示するを選択します。表示される階層ウィンドウの新しいタブで、階層またはプロジェクト参照を探索できます。参照先のプロジェクトと、現在のソリューションで選択したプロジェクトを参照するアセ