ReSharper 2024.3 ヘルプ

プロジェクト参照を分析および最適化する

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

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

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

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

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

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

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

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

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

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

    ReSharper: Analyzing and Optimizing Project References

未使用の参照を削除する

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

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

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

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

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

プロジェクトとアセンブリの参照をクリーニングする方法は他にもあります。

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

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

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

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

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

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

  1. 参照の分析ウィンドウを開きます。

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

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

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

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

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

参照分析ウィンドウ

コントロール

名前

説明

ThemedIcon.Refresh.Screen.(Gray).png

リフレッシュ

コードの変更を外部に反映するためにウィンドウの内容を更新します。

ThemedIcon.ExpandAll.Screen.(Gray).png ThemedIcon.CollapseAll.Screen.(Gray).png

すべて展開 / すべて折りたたむ

現在のタブのすべてのノードを展開 / 折りたたみます。

ThemedIcon.Up.Screen.(Gray).png ThemedIcon.Down.Screen.(Gray).png

/ 次へ


Shift+F8 / F8

前 / 次の項目に移動し、それに応じてソースコードをスクロールします。

ThemedIcon.PreviewToggle.Screen.(Gray).png

プレビューの表示 Ctrl+P

リストを使用して指定された位置(ウィンドウの下部または右側)にある選択されたアイテムのプレビューでペインを非表示または表示します。

ThemedIcon.Export.Screen.(Gray).png

エクスポート

このボタンをクリックして、現在ウィンドウに表示されているデータをテキスト形式でエクスポートするか、ドロップダウンセレクタを使用してデータを XML または HTML 形式でエクスポートします。表示されるデータのエクスポートダイアログを使用すると、データをファイルに保存したり、クリップボードにコピーしたりできます。

ThemedIcon.Merge.Screen.(Gray).png

同じ行に出現箇所をマージする

このオプションを選択すると、同じ行にある出現箇所は単一の項目として表示されます。

ThemedIcon.RemoveAllUnusedReferences.Screen.(Gray).png

未使用の参照をすべて削除する

使用されていないアセンブリ参照をすべて削除します。

ThemedIcon.RemoveSelectedReference.Screen.(Gray).png

選択した参照を削除する

選択したすべてのアセンブリ参照を削除します。

ThemedIcon.Filter.Screen.(Gray).png

フィルターの使用

このリストを使用すると、宣言、呼び出し、パラメーター、メソッドの戻り値など、表示する特定の種類の使用箇所を選択できます。すべての使用箇所を表示をクリックしてすべての種類の使用を有効にするか、フィルターのクリアをクリックしてすべての種類の使用を無効にし、現在のタブのすべての使用を非表示にします。

グループ化

ウィンドウ内のアイテムを異なるカテゴリでグループ化できます。

ウィンドウタブ

ウィンドウ内で最適化参照コマンドの結果を開くと、左側に新しいタブが表示されます。以前開いていたタブは、ウィンドウの幅が許せば右に移動し、それ以外の場合はメモリを節約しますが、タブの右側に表示されている矢印をクリックして必要なタブをクリックする

Tool window tabs

タブがアンロードされないようにするには、タブタイトルの横にあるピンアイコン ThemedIcon.Pin.Screen.(Gray).png をクリックします。

関連ページ:

未使用の参照を削除する

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

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

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

ReSharper 設定の管理と共有

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

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

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

ビルド、実行、デバッグ

ReSharper には、Visual Studio でのプロジェクトの構築、実行、デバッグのエクスペリエンスを向上させる多数の機能が含まれています。本セクション: ソリューションのビルド、実行構成、デバッガー用のビジュアルヘルパー、予測デバッガー、デバッグ情報を持たないデバッグモジュール (PDB)、プロジェクト参照を分析および最適化するソリューションのビルド