ReSharper 2018.3ヘルプ

型依存関係図の探索

ReSharper | アーキテクチャー | タイプの依存関係図の表示
ReSharper_ShowTypesDependencies

ReSharperを使用すると、タイプがソリューション内でどのように依存するかを視覚的に調べることができます。型依存関係図では、異なるプロジェクトまたはコンパイルされたアセンブリから任意の数の型を追加し、それらの間のさまざまな種類の依存関係を視覚化できます。

初期図の作成

新しい型依存関係図を作成するには、いくつかの方法があります。

  • ソリューションエクスプローラー、オブジェクトブラウザ、アーキテクチャエクスプローラー、クラスビュー、またはアセンブリエクスプローラーウィンドウで1つ以上の項目を選択してからメインメニューでReSharper | アーキテクチャー | タイプの依存関係図の表示を選択し、選択内容を右クリックしてタイプの依存関係図の表示を選択するか、または Ctrl+Shift+Alt+A を押してからタイプの依存関係図の表示を選択します。
    この場合、選択した項目内で宣言されているすべてのタイプがダイアグラムに追加され、集約、使用、および継承の依存関係が可視化されています。

  • キャレットをエディター内の任意の場所に設定し、メインメニューでReSharper | アーキテクチャー | タイプの依存関係図の表示を選択するか、これを調べるコマンド(ReSharper | インスペクション | これを調べるを選択するか Ctrl+Shift+Alt+Aを押す)を呼び出してから、タイプの依存関係図の表示を選択します。
    この場合、ファイルのすべてのタイプがダイアグラムに追加され、集約、使用、および継承の依存関係が可視化されています。

  • アーキテクチャビューで、1つまたは複数の項目を選択し、選択項目right-clickを選択し、コンテキストメニューでタイプの依存関係図の表示を選択します。

  • ベースシンボルへ移動派生シンボルに移動APIを公開するために移動するなどのコマンドの結果リストで、 Alt+Num+ を押すか図に表示するをクリックします。 ThemedIcon TypeLayoutAlt Screen Gray
    ベース/派生シンボルの場合は、継承階層の対応する部分がダイアグラムに追加され、継承の依存関係のみが追加されます。が視覚化されます。公開されているAPIの場合、ダイアグラムには指定された型を返し、型依存性のみを返すメソッドを含む型が表示されます。

  • 検索結果ウィンドウまたは階層ウィンドウに表示される結果のリストについては、図に表示するThemedIcon TypeLayoutAlt Screen Gray クリックしてください。
    このような場合、すべての使用箇所または階層エントリがダイアグラムに追加され、使用箇所/継承の依存関係が示されます。が可視化されています。

  • 1つまたは複数のプロジェクト参照を選択し、選択を右クリックして、図に使用箇所を表示するThemedIcon TypeLayoutAlt Screen Gray 選択します。
    この場合、使用されているプロジェクトの参照されているアセンブリのタイプの使用箇所が表示されます。

新しく作成されたプロジェクト依存関係図が階層ウィンドウの新しいタブに表示されます。

ダイアグラムがソリューションと同期されていないことに注意してください。つまり、コード内で型の名前を変更したり削除したりすると、ダイアグラムは変更されません。ダイアグラムが最新であるかどうかを確認するには、右下隅に表示される作成時間を確認します。ツールバーのリフレッシュ・タイプの依存性 ThemedIcon Refresh Screen Gray をクリックして、ダイアグラムを再構築することもできます。

図のビューを調整する

型依存性図は、次の2つの方法でレイアウトできます。

  • 継承階層レイアウター - このオプションは、継承関係に従って型を整理します。基本型は上に移動します。

  • ビジネスロジックレイヤー - このオプションはそれらの間のすべての表示された関係に従ってタイプを整理します。

これらのオプションを切り替えるには、左の対応するセレクタを使用します。

Switching layout on the type dependency diagram

ダイアグラムのレイアウトは、ダイアグラムを更新したり、タイプを追加または削除したり依存関係フィルタを変更するたびに自動的に更新されます。

図をパンおよびズームするには、ダイアグラム領域の左上隅にあるコントロールを使用します。または、図の項目の外の図エリアの任意の場所をクリックし、手カーソル cursor hand が表示されている間にドラッグすることもできます。ズームの場合、マウスホイールを使用することもできます。

ダイアグラムのレイアウトは自動的に計算されますが、必要に応じて変更することができます。すべてのアイテムを移動することができます。アイテム(タイプ、依存関係リンク、またはグループ化アイテム)を移動するには、まずそれをクリックして選択し、次に十字カーソル cursor cross が表示されている間にクリックしてドラッグします。

必要に応じて、次のいずれかの方法で、ダイアグラムのグループ化項目を折りたたんで展開できます。

  • グループ化項目の左上隅にある下矢印をクリックします。折りたたまれると、記号が上矢印に変わり、それをクリックすると項目が展開されます。

  • 図内のグループ化項目を選択し、 Ctrl+LeftArrowCtrl+RightArrowを押します。

図の項目の追加と削除

いつでも、表示されている図を修正して、目的のタイプのみが表示されるようにすることができます。必要に応じて、元に戻す ThemedIcon Undo Screen Gray をクリックするか Ctrl+Zを押して、ダイアグラムの変更(項目の追加/削除)を段階的に取り消すことができます。元に戻すコマンドを逆にするには、やり直し ThemedIcon Redo Screen Gray をクリックするか、 Ctrl+Yを押します。

図からタイプとフォルダーを削除するには、項目をグループ化するときに右上隅の十字を使用するか、項目が選択されているときに Delete を押します。または、保存する項目を選択して右クリックし、コンテキストメニューで選択したアイテムのみを表示するを選択します。複数選択の場合、Ctrl - 項目をクリックします。

図にアイテムを追加する方法はいくつかあります。

  • タイプ、フォルダー、およびプロジェクトをソリューションエクスプローラーからダイアグラムにドラッグアンドドロップします。

  • エディターでタイプを選択し、選択したタイプをダイアグラムにドラッグアンドドロップします。

  • 参照されるすべてのタイプを検索して追加するには、タイプまたはグループ化アイテムを右クリックし、コンテキストメニューで参照されるすべての型を追加するを選択します。グループ化アイテム(フォルダーまたはプロジェクト)でこのコマンドを呼び出すと、ReSharperは、現在表示されているすべてのタイプの参照されるタイプを追加します。

  • ソリューションと参照されているアセンブリからタイプを検索して名前を追加するには、検索ボックスに名前を入力します: 入力中にワイルドカード(アスタリスク '*'やキャメルハンプなど)を使用することができます:

    Adding types to the type dependency diagram

    タイプを選択し、 Enter を押すか、それをクリックしてダイアグラムに追加します。ドロップダウンで緑で強調表示されているタイプは、すでにダイアグラムに追加されています。このようなタイプを選択すると、ダイアグラムのフォーカスがそのタイプに移動します。

  • 詳細ポップアップで、関連タイプをクリックして追加するか、またはすべての使用されたタイプをダイアグラムに追加するダイアグラムにすべての用途を追加するすべての基本タイプを追加する、および直ちに継承するすべての継承を追加するリンクを使用して複数のタイプを追加します。

特定のタイプと容器の学習

ノードが折りたたまれていると、その上にマウスを置くと、内部にあるものをすぐにチェックすることができます。表示されるポップアップでは、このノード内のダイアグラムおよびこのノード内で参照されるすべてのモジュールに追加されるタイプの数を表示できます。

Studying projects and containers

必要に応じて、参照されたモジュールをクリックするか、または不足しているアイテムを追加をクリックして、このノードの他の項目をダイアグラムに追加することができます。

任意のタイプをダブルクリックしてエディターで開くことができます。型がコンパイル済みアセンブリで定義されている場合は、コンパイル済みコード移動するための適切な方法に従って開かれます。

どんな特定のタイプについても(そしてタイプ間のどんな依存関係についても)詳細な情報を得ることができます。タイプの詳細を表示するには、その上にマウスを移動し、詳細ポップアップが表示されたらすぐにその上にマウスポインタを移動します。

型の詳細ポップアップでは、指定された型が使用する型、型が使用される型、継承される型、コンストラクタのパラメータでの型の使用などが表示されます。
型にXMLドキュメントがある場合は、その要約もポップアップに表示されます。

タイプをクリックしてダイアグラムに追加することができます。緑で強調表示されているタイプはすでにダイアグラムに追加されています。このようなタイプをクリックすると、ダイアグラムのフォーカスがそのタイプに移動します。上部の上隅にある宣言に移動リンクを使用すると、エディターでタイプを開くことができます。

Details of specific type on the dependency diagram

タイプ間の依存関係の学習

型依存図では、いくつかの種類の依存関係を視覚化できます。特定の種類の依存関係を表示または非表示にするには、フィルタ依存関係 ThemedIcon Filter Screen Gray セレクタの対応する項目を使用します。

  • 集約の依存関係 - 型が他の型のコレクションまたはコンテナである場合に一種の依存関係を表示し、
    この種の依存関係は、緑色の点線で示されています。対応するフィールドの名前がその行の隣に表示されます。この行の上にマウスを置くと、フィールド宣言が表示され、エディターで対応する場所に移動できます。

  • 依存関係を使用する - あるタイプの変数、パラメータ、またはメソッドリターンが別のタイプで使用されているときに、一種の依存関係を表示します。
    この種の依存関係は、相対的な使用回数を反映した青い線で示されています。この行の上にマウスを置くと、使用箇所のリストが表示されます。

    Usage dependency

    特定の用途をクリックすると、テキストエディターの対応する場所に移動し、すべての使用箇所を表示リンクをクリックすると、検索結果ウィンドウのすべての用途が開きます。

  • 継承の依存関係 - ある型が別の型を拡張または実装するときに、一種の依存関係を表示します。この種の依存関係は灰色の線で示されています。この行の上にマウスを置くと、継承関係が表示され、エディターで対応する場所に移動できます。
    推移的継承の依存関係は、破線で示されています。そのような行の上にマウスを置いて、ポップアップを使用して依存関係がどのタイプになっているかを確認し、これらのタイプをクリックしてダイアグラムに追加することができます。

    Transitive dependency

  • 戻り値の型依存性 - ある型に別の型を返すメソッドまたはプロパティーがある場合に、ある種の依存関係を表示します。この種の依存関係は、紫色の線として表示されます。この行の上にマウスを置くと、メンバーのリストが表示され、エディターで対応する場所に移動できます。

  • コンストラクタインジェクション - ある型が別の型のコンストラクタパラメータとして公開されているときに、一種の依存関係を表示します。この種の依存関係は、茶色の線で示されています。この行の上にマウスを置くと、コンストラクタが表示され、エディターの対応する場所に移動できます。

図で他のReSharper機能を呼び出す

次にナビゲートメニューの項目の利用可能なすべてのナビゲーション宛先を一覧表示するには、 Ctrl+Shift+G を押すか、項目を右クリックして次にナビゲートを選択します。

項目が選択されているときに Shift+Alt+L を押すと、ソリューションエクスプローラーで任意の項目(ファイル、フォルダー、またはプロジェクト)を見つけることができます。

タイプの詳細ポップアップ検索結果ウィンドウにすべての使用済みタイプを表示するまたは検索結果ウィンドウにすべての使用箇所を表示するをクリックするか、依存関係リンクのポップアップですべての使用箇所を表示をクリックして、関連する使用箇所をリストすることもできます。

図のアイテムをリファクタリングする

ダイアグラム上の任意の項目から、使用可能なすべてのリファクタリングを呼び出すことができます。これを行うには、 Ctrl+Shift+R を押すか、右クリックしてリファクタリングを選択します。

タイプを目的のフォルダーにドラッグしてフォルダーへ移動リファクタリングを実行することもできます。このリファクタリングは、タイプを含むファイルをターゲットフォルダーに移動し、名前空間の参照を修正し、必要に応じて内部の可視性をパブリックに変更します。
デフォルトでは、この動作は有効になっています。無効にするには、ドラッグアンドドロップで[ フォルダーへの移動を許可 ]をクリックします。 ThemedIcon RefactorThis Screen Gray

ドラッグ&ドロップによるリファクタリングの後、ダイアグラムは自動的に更新されますが、リファクタリングメニューから呼び出す他のリファクタリングはダイアグラムを更新しないことに注意してください。ダイアグラムのツールバーでリフレッシュ・タイプの依存性 ThemedIcon Refresh Screen Gray をクリックする必要があります。

ダイアグラムをイメージにエクスポートする

依存関係を調べる時点で、現在のビューをイメージにエクスポートできます。これを行うには、PNGにエクスポートする ThemedIcon Export Screen Gray をクリックし、イメージファイルを保存する場所を指定します。

この機能は、次の言語とテクノロジでサポートされています。

Language: C#

Language: VB.NET

Language: C++

Language: HTML

Language: ASP.NET

Language: Razor

Language: JavaScript

Language: TypeScript

Language: CSS

Language: XML

Language: XAML

Language: Resx

Language: Build Scripts

Language: Protobuf

Language: JSON

Feature is available

Feature is available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

Feature is not available

C#の機能の使用方法については、こちらの説明と例を参照してください。他言語の詳細については、言語によるReSharperの対応するトピックを参照してください。

最終更新日: 2019年1月21日

関連事項