さまざまなツール ウィンドウを使用してコードの構造を表示する
適用対象:
Visual Studio
Visual Studio for Mac
クラス ビュー、呼び出し階層、オブジェクト ブラウザー、コード定義 (C++ のみ) など、Visual Studio のさまざまなツール ウィンドウを使って、クラスとそのメンバーを調べることができます。 これらのツール ウィンドウでは、Visual Studio プロジェクトのコード、.NET コンポーネント、COM コンポーネント、ダイナミック リンク ライブラリ (DLL)、タイプ ライブラリ (TLB) を調査できます。
プロジェクトの型とメンバーの参照、シンボルの検索、メソッドの呼び出し階層の表示、シンボル参照の検索などを行うために、ソリューション エクスプローラーを使用することもできます。この場合、複数のツール ウィンドウを切り替える必要がなくなります。
Visual Studio Enterprise があるなら、コード マップを使用して、コードの構造や、ソリューション全体におけるその依存関係を視覚化することができます。 詳しくは、「Map dependencies with code maps」(コード マップでのマップの依存関係) をご覧ください。
クラス ビュー (Visual Basic、C#、C++)
クラス ビューはソリューション エクスプローラーの一部として、別個のウィンドウに表示されます。 クラス ビューには、アプリケーションの要素が表示されます。 上部のペインは名前空間、型、インターフェイス、列挙、およびクラスが表示され、下部ペインには、上のペインで選択した型に属するメンバーを表示します。 このウィンドウを使用すると 、ソース コード (または要素がソリューションの外部で定義されている場合はオブジェクト ブラウザー) のメンバーの定義に移動できます。
[クラス ビュー] で要素を表示するためにプロジェクトをコンパイルする必要はありません。 プロジェクトのコードを変更すると、ウィンドウが更新されます。
プロジェクト ノードを選択し、 [追加] ボタンを選択して [新しい項目の追加] ダイアログ ボックスを開くと、プロジェクトにコードを追加できます。 コードは別個のファイルに追加されます。
プロジェクトがソース コード管理にチェックインされている場合、クラス ビューの各要素には、ファイルのソース コードの状態を示すアイコンが表示されます。 [チェックアウト] 、 [チェックイン] 、および [最新バージョンの取得] などの一般的なソース コード管理コマンドは、要素のショートカット メニューでも使用できます。
[クラス ビュー] ツール バー
[クラス ビュー] ツール バーには、以下のコマンドがあります。
| 名前 | 説明 |
|---|---|
| 新しいフォルダー | 通常使用される要素を整理するための仮想フォルダーまたはサブフォルダーを作成します。 これらはアクティブなソリューション ( .suo) ファイルに保存されます。 コード要素の名前を変更するか、削除すると、エラー ノードとして仮想フォルダーに表示されることがあります。 この問題を解決するには、エラー ノードを削除します。 要素の名前を変更した場合は、プロジェクト階層からフォルダーに再度移動できます。 |
| 戻る | 以前に選択したアイテムに移動します。 |
| 次へ | 選択した次の項目に移動します。 |
| クラス ダイアグラムで表示 (マネージド コード プロジェクトでのみ) | 名前空間を選択するか、またはクラス ビューを入力すると使用可能になります。 名前空間を選択すると、その中のすべての型がクラス図に表示されます。 ある型を選択すると、その型だけがクラス図に表示されます。 |
クラス ビュー設定
ツール バーの [クラス ビュー設定] ボタンは、次の設定を指定できます。
| 名前 | 説明 |
|---|---|
| 基本型の表示 | 基本型が表示されます。 |
| プロジェクト参照の表示 | プロジェクト参照が表示されます。 |
| 非表示の型とメンバーの表示 | 非表示の型とメンバー (クライアントが使用できない) は淡い灰色のテキストで表示されます。 |
| パブリック メンバーの表示 | パブリック メンバーが表示されます。 |
| プロテクト メンバーの表示 | プロテクト メンバーが表示されます。 |
| プライベート メンバーの表示 | プライベート メンバーが表示されます。 |
| 他のメンバーの表示 | 他の種類のメンバーが表示されます。内部の (Visual Basic では Friend) メンバーが含まれます。 |
| 継承されたメンバーの表示 | 継承メンバーが表示されます。 |
クラス ビューのショートカット メニュー
クラス ビューのショートカット (または右クリック) メニューには、選択したプロジェクトの種類に応じて次のコマンドが含まれる場合があります。
| 名前 | 説明 |
|---|---|
| 定義に移動 | 開いているプロジェクトで要素が定義されていない場合、ソース コード、またはオブジェクト ブラウザーで要素の定義を見つけます。 |
| 定義の参照 | 選択した項目をオブジェクト ブラウザーで表示します。 |
| すべての参照の検索 | 選択したオブジェクトの項目を検索し、 [検索結果] ウィンドウに結果を表示します。 |
| 型のフィルター (マネージド コードのみ) | 選択した型または名前空間だけを表示します。 [検索] ボックスの横にある [検索のクリア] (X) ボタンをクリックしてフィルターを削除できます。 |
| コピー | 項目の完全修飾名をコピーします。 |
| アルファベット順に並べ替え | 名前でアルファベット順に型およびメンバーを一覧表示します。 |
| メンバーの型で並べ替え | 型で型およびメンバーを一覧表示します (クラスがインターフェイスより前に表示され、インターフェイスがデリゲートより前に表示され、メソッドがプロパティより前に表示されます)。 |
| メンバーのアクセスで並べ替え | アクセスの種類 (パブリックかプライベートなど) に応じて型およびメンバーを一覧表示します。 |
| メンバーの種類によるグループ化 | オブジェクトの種類によって型およびメンバーを並べ替えてグループにします。 |
| 宣言へ移動 (C++ コードのみ) | ソース コードの型またはメンバーの宣言を表示します (存在する場合) |
| 定義に移動 | ソース コードの型またはメンバーの定義を表示します (存在する場合) |
| 参照へジャンプ | ソース コード内の型またはメンバーへの参照を表示します (存在する場合) |
| 呼び出し階層の表示 | [呼び出し階層] ウィンドウで、選択したメソッドが表示されます。 |
[呼び出し階層] ウィンドウ (Visual Basic、C#、C++)
[呼び出し階層] ウィンドウには、特定のメソッドまたはプロパティが呼び出された場所が表示されます。 また、そのメソッドから呼び出されたメソッドの一覧も示されます。 指定したスコープでメソッドの呼び出し元/呼び出し先の関係を示す、複数レベルの呼び出しのグラフを表示できます。
エディターでメソッド (またはプロパティやコンストラクター) を選択し、ショートカット メニューの [呼び出し階層の表示] を選択すると、 [呼び出し階層] ウィンドウを表示できます。 表示は次の図のようになります。

ツール バーのドロップダウン リストを使用して、階層の範囲を指定できます (ソリューション、現在のプロジェクト、または現在のドキュメント)。
メイン ウィンドウにはメソッドに対する呼び出しとメソッドからの呼び出しが表示され、 [呼び出しサイト] ウィンドウには選択した呼び出しの場所が表示されます。 仮想または抽象メンバーの場合、 [Overrides method name ](メソッド名のオーバーライド) ノードが表示されます。 インターフェイス メンバーの場合は、 [Implements method name](メソッド名の実装) ノードが表示されます。
[呼び出し階層] ウィンドウはメソッド グループ参照を検索しません。これには、メソッドがイベント ハンドラーとして追加される場所、またはメソッドがデリゲートに割り当てられる場所が含まれます。 これらの参照を取得するには、 [すべての参照の検索] コマンドを使用します。
[呼び出し階層] ウィンドウのショートカット メニューには、次のコマンドが含まれています。
| 名前 | 説明 |
|---|---|
| 新規ルートとして追加 | 新しいルート ノードとして選択したノードを追加します。 |
| ルートの削除 | 選択されたルート ノードをツリー ビュー ペインから削除します。 |
| 定義に移動 | メソッドの元の定義に移動します。 |
| すべての参照の検索 | プロジェクトで、選択したメソッドへの参照をすべて検索します。 |
| コピー | 選択したノードをコピーします (そのサブ ノードはコピーしません)。 |
| 最新の情報に更新 | 情報を更新します。 |
オブジェクト ブラウザー
[オブジェクト ブラウザー] ウィンドウは、プロジェクトのコードの説明を表示します。
ウィンドウの上部にあるドロップダウン リストを使って、表示するコンポーネントをフィルター処理できます。 カスタム コンポーネントには、マネージド コードの実行可能ファイル、ライブラリのアセンブリ、タイプ ライブラリ、および .ocx ファイルを含めることができます。 C++ のカスタム コンポーネントを追加することはできません。
カスタム設定は Visual Studio ユーザー アプリケーション ディレクトリ ( %APPDATA%\Microsoft\VisualStudio\16.0\ObjBrowEX.dat) に保存されます。
オブジェクト ブラウザーの左側のウィンドウは、アセンブリを示します。 アセンブリを展開してそこに含まれている名前空間を表示し、名前空間を展開してそこに含まれている型を表示します。 型を選択すると、メンバー (プロパティ、メソッドなど) が右ペインに一覧表示されます。 右下ペインに、選択した項目に関する詳細情報が表示されます。
特定の項目をウィンドウの上部の [検索] ボックスを使用して検索できます。 検索時に大文字と小文字が区別されます。 検索結果は左ペインに表示されます。 検索をクリアするには、 [検索] ボックスの横の [検索のクリア] (X) ボタンを選びます。
オブジェクト ブラウザーは、ユーザーが実行した選択を追跡し、ツール バーの [次へ] ボタンと [戻る] ボタンを使用して選択項目間を移動できます。
オブジェクト ブラウザーを使用し、項目 (アセンブリ、名前空間、型、メンバー) を選択してツール バーの [参照の追加] ボタンを選択することで、開いているソリューションにアセンブリ参照を追加できます。
オブジェクト ブラウザー設定
ツール バーの [オブジェクト ブラウザー設定] ボタンを使用して、次のビューの 1 つを指定できます。
| 名前 | 説明 |
|---|---|
| 名前空間表示 | 左ペインに、物理コンテナーではなく、名前空間を表示します。 複数の物理コンテナーに格納されている名前空間はマージされます。 |
| コンテナー表示 | 左ペインに、名前空間ではなく、物理コンテナーを表示します。 [名前空間表示] と [ コンテナー表示] は相互に排他的な設定です。 |
| 基本型の表示 | 基本型が表示されます。 |
| 非表示の型とメンバーの表示 | 非表示の型およびメンバー (クライアントが使用できない) が淡い灰色のテキストで表示されます。 |
| パブリック メンバーの表示 | パブリック メンバーを表示します。 |
| プロテクト メンバーの表示 | プロテクト メンバーを表示します。 |
| プライベート メンバーの表示 | プライベート メンバーを表示します。 |
| 他のメンバーの表示 | 内部 (Visual Basic では Friend) メンバーを含む、他の種類のメンバーが表示されます。 |
| 継承されたメンバーの表示 | 継承メンバーを表示します。 |
| 拡張メソッドの表示 | 拡張メソッドが表示されます。 |
オブジェクト ブラウザーのショートカット メニューのコマンド
オブジェクト ブラウザーのショートカット (または右クリック) メニューには、選択されている項目の種類に応じて次のコマンドが含まれる場合があります。
| 名前 | 説明 |
|---|---|
| 定義の参照 | 選択した項目のプライマリ ノードが表示されます。 |
| すべての参照の検索 | 選択したオブジェクトの項目を検索し、 [検索結果] ウィンドウに結果を表示します。 |
| 型のフィルター | 選択した型または名前空間だけを表示します。 [検索のクリア] ボタンをクリックしてフィルターを削除できます。 |
| コピー | 項目の完全修飾名をコピーします。 |
| 削除 | スコープがカスタム コンポーネント セットの場合、選択したコンポーネントをスコープから削除します。 |
| アルファベット順に並べ替え | 名前でアルファベット順に型およびメンバーを一覧表示します。 |
| オブジェクトの型で並べ替え | 型で型およびメンバーを一覧表示します (クラスがインターフェイスより前に表示され、インターフェイスがデリゲートより前に表示され、メソッドがプロパティより前に表示されます)。 |
| オブジェクトのアクセスで並べ替え | アクセスの種類 (パブリックかプライベートなど) に応じて型およびメンバーを一覧表示します。 |
| オブジェクトの型でグループ化 | オブジェクトの種類によって型およびメンバーを並べ替えてグループにします。 |
| 宣言へ移動 (C++ プロジェクトのみ) | ソース コードの型またはメンバーの宣言を表示します (存在する場合) |
| 定義に移動 | ソース コードの型またはメンバーの定義を表示します (存在する場合) |
| 参照へジャンプ | ソース コード内の型またはメンバーへの参照を表示します (存在する場合) |
| 呼び出し階層の表示 | [呼び出し階層] ウィンドウで、選択したメソッドが表示されます。 |
コード定義ウィンドウ (C++)
[コード定義] ウィンドウには、アクティブなプロジェクトに含まれている、選択した C++ の型またはメンバーの定義が表示されます。 型またはメンバーは、コード エディターやコード ビューのウィンドウで選択できます。
このウィンドウは読み取り専用ですが、ブレークポイントまたはブック マークを設定できます。 表示された定義を変更するには、ショートカット メニューの [定義の編集] を選択します。 これにより、コード エディターでソース ファイルが開かれ、定義の開始行にカーソル位置が移動します。
注意
Visual Studio 2015 以降では、 [コード定義] ウィンドウは C++ のみで使用できます。
コード定義のショートカット メニュー
[コード定義] ウィンドウのショートカット (または右クリック) メニューには、次のコマンドが含まれている場合があります。
| 名前 | 説明 |
|---|---|
| クイック アクションとリファクタリング | |
| 名前の変更 | |
| インクルード ファイルのグラフを生成 | |
| 定義をここに表示 | |
| 定義に移動 | 定義 (部分クラスの場合は複数の定義) を見つけ、 [検索結果] ウィンドウに表示します。 |
| 宣言に移動 | |
| すべての参照の検索 | ソリューションの型またはメンバーへの参照を検索します。 |
| 呼び出し階層の表示 | [呼び出し階層] ウィンドウにメソッドが表示されます。 |
| ヘッダー/コード ファイルの切り替え | |
| テストの実行 | プロジェクトに単体テストがある場合は、選択したコードのテストを実行します。 |
| テストのデバッグ | |
| ブレークポイント | ブレークポイント (またはトレース ポイント) を挿入します。 |
| カーソル行の前まで実行 | カーソルの位置までプログラムをデバッグ モードで実行します。 |
| スニペット | |
| 切り取り、コピー、貼り付け | |
| 注釈 | |
| アウトライン | 標準のアウトライン コマンド。 |
| 再スキャン | |
| 定義の編集 | コード ペインの定義まで挿入ポイントを移動します。 |
| エンコードの選択 | ファイルのエンコーディングを設定できるように [エンコード] ウィンドウを開きます。 |
[ドキュメント アウトライン] ウィンドウ
[ドキュメント アウトライン] ウィンドウを、XAML ページのデザイナーや Windows フォーム デザイナー、または HTML ページなどのデザイナー ビューと共に使用することができます。 このウィンドウでは、要素がツリー ビューで表示されます。これにより、フォームまたはページの論理構造を表示し、組み込み位置の深いコントロールや非表示になっているコントロールを見つけることができます。