コードの構造の表示

Visual Studio プロジェクトのオブジェクトとメンバー、および .NET Framework コンポーネント、COM コンポーネント、ダイナミック リンク ライブラリ (DLL)、およびタイプ ライブラリ (TLB) のオブジェクトとメンバーを調査できます。

このドキュメントの以下のセクションでは、コード構造のウィンドウについて説明します。

クラス ビュー (Visual Basic、C#、C++)

呼び出し階層 (Visual Basic、C#、C++)

オブジェクト ブラウザー

コード定義ウィンドウ (C#、C++)

プロジェクトの型とメンバーの参照、シンボルの検索、メソッドの呼び出し階層の表示、シンボル参照の検索などを行うために、ソリューション エクスプローラーを使用することもできます。この場合、前述の複数のツール ウィンドウを切り替える必要がなくなります。

Visual Studio Enterprise があるなら、コード マップを使用して、コードの構造や、ソリューション全体におけるその依存関係を視覚化したり、コードの中の関心のある部分までドリルダウンしたりすることができます。 詳細については、「ソリューション間の依存関係をマップする」を参照してください。

注意

使用する Visual Studio のエディションと設定が、IDE の機能に影響することもあります。 このため実際の機能は、このトピックに記載されている内容と異なる場合があります。

クラス ビュー (Visual Basic、C#、C++)

クラス ビューソリューション エクスプローラーの一部として、別個のウィンドウに表示されます。 [クラス ビュー] ウィンドウには、アプリケーションの要素が表示されます。 上部のペインは名前空間、型、インターフェイス、列挙、およびクラスが表示され、下部ペインには、上のペインで選択した型に属するメンバーを表示します。 このウィンドウを使用すると 、ソース コード (または要素がソリューションの外部で定義されている場合はオブジェクト ブラウザー) のメンバーの定義に移動できます。

[クラス ビュー] で要素を表示するためにプロジェクトをコンパイルする必要はありません。 プロジェクトのコードを変更すると、ウィンドウが更新されます。

プロジェクト ノードを選択し、[追加] ボタンを選択して [新しい項目の追加] ダイアログ ボックスを開くと、プロジェクトにコードを追加できます。 コードは別個のファイルに追加されます。

プロジェクトがソース コード管理にチェックインされている場合、クラス ビューの各要素には、ファイルのソース コードの状態を示すアイコンが表示されます。 [チェックアウト][チェックイン]、および [最新バージョンの取得] などの一般的なソース コード管理コマンドは、要素のショートカット メニューでも使用できます。

[クラス ビュー] ツール バー

[クラス ビュー] ツール バーには、以下のコマンドがあります。

新しいフォルダー 通常使用される要素を整理するための仮想フォルダーまたはサブフォルダーを作成します。 これらはアクティブなソリューション (.suo) ファイルに格納されます。 コード要素の名前を変更するか、削除すると、エラー ノードとして仮想フォルダーに表示されることがあります。 この問題を解決するには、エラー ノードを削除します。 要素の名前を変更した場合は、プロジェクト階層からフォルダーに再度移動できます。
戻る 以前に選択したアイテムに移動します。
次へ 選択した次の項目に移動します。
クラス ダイアグラムで表示 (マネージ コード プロジェクトでのみ) 名前空間を選択するか、またはクラス ビューを入力すると使用可能になります。 名前空間を選択すると、その中のすべての型がクラス図に表示されます。 ある型を選択すると、その型だけがクラス図に表示されます。

クラス ビュー設定

ツール バーの [クラス ビュー設定] ボタンは、次の設定を指定できます。

基本型の表示 基本型が表示されます。
派生型の表示 派生型が表示されます。
非表示の型とメンバーの表示 非表示の型とメンバー (クライアントが使用できない) は淡い灰色のテキストで表示されます。
パブリック メンバーの表示 パブリック メンバーが表示されます。
プロテクト メンバーの表示 プロテクト メンバーが表示されます。
プライベート メンバーの表示 プライベート メンバーが表示されます。
他のメンバーの表示 他の種類のメンバーが表示されます。内部の (Visual Basic では Friend) メンバーが含まれます。
継承されたメンバーの表示 継承メンバーが表示されます。
拡張メソッドの表示 拡張メソッドが表示されます。

クラス ビューのショートカット メニュー

クラス ビューのショートカット メニューには、選択したプロジェクトの種類に応じて次のコマンドが含まれる場合があります。

定義に移動 開いているプロジェクトで要素が定義されていない場合、ソース コード、またはオブジェクト ブラウザーで要素の定義を見つけます。
定義の参照 選択した項目をオブジェクト ブラウザーで表示します。
すべての参照の検索 選択したオブジェクトの項目を検索し、[検索結果] ウィンドウに結果を表示します。
型のフィルター (マネージ コードのみ) 選択した型または名前空間だけを表示します。 [検索] ボックスの横にある [検索のクリア] (x) ボタンをクリックしてフィルターを削除できます。
コピー 項目の完全修飾名をコピーします。
アルファベット順に並べ替え 名前でアルファベット順に型およびメンバーを一覧表示します。
メンバーの型で並べ替え 型で型およびメンバーを一覧表示します (クラスがインターフェイスより前に表示され、インターフェイスがデリゲートより前に表示され、メソッドがプロパティより前に表示されます)。
メンバーのアクセスで並べ替え アクセスの種類 (パブリックかプライベートなど) に応じて型およびメンバーを一覧表示します。
メンバーの種類によるグループ化 オブジェクトの種類によって型およびメンバーを並べ替えてグループにします。
宣言へ移動 (C++ コードのみ) ソース コードの型またはメンバーの宣言を表示します (存在する場合)
定義に移動 ソース コードの型またはメンバーの定義を表示します (存在する場合)
参照へジャンプ ソース コード内の型またはメンバーへの参照を表示します (存在する場合)
呼び出し階層の表示 [呼び出し階層] ウィンドウで、選択したメソッドが表示されます。

呼び出し階層 (Visual Basic、C#、C++)

[呼び出し階層] ウィンドウは特定のメソッド (またはプロパティまたはコンストラクター) が呼び出される場所を表示し、そのメソッドから呼び出されるメソッドを一覧表示します。 指定したスコープでメソッドの呼び出し元/呼び出し先の関係を示す、複数レベルの呼び出しのグラフを表示できます。

メソッド (またはプロパティまたはコンストラクター) を選択し、ショートカット メニューの [ビュー クラスの階層構造] を選択すると、[呼び出し階層] ウィンドウを表示できます。 表示されるピクチャは次のようになります。

複数のノードが開いた呼び出し階層
[呼び出し階層] ウィンドウ

ツール バーのドロップダウン リストを使用して、階層の範囲を指定できます (ソリューション、現在のプロジェクト、または現在のドキュメント)。

メイン ウィンドウにはメソッドに対する呼び出しとメソッドからの呼び出しが表示され、[呼び出しサイト] ウィンドウには選択した呼び出しの場所が表示されます。 仮想または抽象メンバーの場合、[Overrides method name ](メソッド名のオーバーライド) ノードが表示されます。 インターフェイス メンバーの場合は、[Implements method name](メソッド名の実装) ノードが表示されます。

[呼び出し階層] ウィンドウはメソッド グループ参照を検索しません。これには、メソッドがイベント ハンドラーとして追加される場所、またはメソッドがデリゲートに割り当てられる場所が含まれます。 これらの参照を取得するには、[すべての参照の検索] コマンドを使用します。

[呼び出し階層] ウィンドウのショートカット メニューには、次のコマンドが含まれています。

新規ルートとして追加 新しいルート ノードとして選択したノードを追加します。
ルートの削除 選択されたルート ノードをツリー ビュー ペインから削除します。
定義に移動 メソッドの元の定義に移動します。
すべての参照の検索 プロジェクトで、選択したメソッドへの参照をすべて検索します。
コピー 選択したノードをコピーします (そのサブ ノードはコピーしません)。
最新の情報に更新 情報を更新します。

オブジェクト ブラウザー

オブジェクト ブラウザーは、プロジェクトのコードの説明を表示します。

オブジェクト ブラウザーで表示する内容をフィルター処理できます。 ウィンドウの上部にあるドロップダウン リストを使用して、次のオプションから選択できます。

  • .NET Framework

  • Silverlight

  • アクティブなソリューション

  • コンポーネントのカスタム セット

    カスタム コンポーネントには、マネージ コードの実行可能ファイル、ライブラリのアセンブリ、タイプ ライブラリ、および .ocx ファイルを含めることができます。 C++ のカスタム コンポーネントを追加することはできません。 カスタム設定は Visual Studio ユーザー アプリケーション ディレクトリ (%APPDATA%\Roaming\Microsoft\VisualStudio\11.0\ObjBrowEX.dat) に格納されます。

    オブジェクト ブラウザーの左ウィンドウには、.NET Framework および COM コンポーネントなどの物理コンテナーが示されます。 コンテナー ノードを展開してそこに含まれている名前空間を表示し、名前空間を展開してそこに含まれている型を表示します。 型を選択すると、メンバー (プロパティ、メソッドなど) が右ペインに一覧表示されます。 右下ペインに、選択した項目に関する詳細情報が表示されます。

    特定の項目をウィンドウの上部の [検索] ボックスを使用して検索できます。 検索時に大文字と小文字が区別されます。 検索結果は左ペインに表示されます。 検索をクリアするには、[検索] ボックスの横の [検索のクリア] (X) ボタンをクリックします。

    オブジェクト ブラウザーは、ユーザーが実行した選択を追跡し、ツール バーの [次へ] ボタンと [戻る] ボタンを使用して選択項目間を移動できます。

    オブジェクト ブラウザーを使用し、項目 (アセンブリ、名前空間、型、メンバー) を選択してツール バーの [参照の追加] ボタンを選択することで、開いているソリューションにアセンブリ参照を追加できます。

オブジェクト ブラウザー 設定

ツール バーの [オブジェクト ブラウザー設定] ボタンを使用して、次のビューの 1 つを指定できます。

名前空間表示 左ペインに、物理コンテナーではなく、名前空間を表示します。 複数の物理コンテナーに格納されている名前空間はマージされます。
コンテナー表示 左ペインに、名前空間ではなく、物理コンテナーを表示します。 [名前空間表示][ コンテナー表示] は相互に排他的な設定です。
基本型の表示 基本型が表示されます。
派生型の表示 派生型を表示します。
非表示の型とメンバーの表示 非表示の型およびメンバー (クライアントが使用できない) が淡い灰色のテキストで表示されます。
パブリック メンバーの表示 パブリック メンバーを表示します。
プロテクト メンバーの表示 プロテクト メンバーを表示します。
プライベート メンバーの表示 プライベート メンバーを表示します。
他のメンバーの表示 内部 (Visual Basic では Friend) メンバーを含む、他の種類のメンバーが表示されます。
継承されたメンバーの表示 継承メンバーを表示します。
拡張メソッドの表示 拡張メソッドが表示されます。

オブジェクト ブラウザーのショートカット メニューのコマンド

オブジェクト ブラウザーのショートカット メニューには、選択されている項目の種類に応じて次のコマンドが含まれる場合があります。

定義の参照 選択した項目のプライマリ ノードが表示されます。
すべての参照の検索 選択したオブジェクトの項目を検索し、[検索結果] ウィンドウに結果を表示します。
型のフィルター 選択した型または名前空間だけを表示します。 [検索のクリア] ボタンをクリックしてフィルターを削除できます。
コピー 項目の完全修飾名をコピーします。
削除 スコープがカスタム コンポーネント セットの場合、選択したコンポーネントをスコープから削除します。
アルファベット順に並べ替え 名前でアルファベット順に型およびメンバーを一覧表示します。
オブジェクトの型で並べ替え 型で型およびメンバーを一覧表示します (クラスがインターフェイスより前に表示され、インターフェイスがデリゲートより前に表示され、メソッドがプロパティより前に表示されます)。
オブジェクトのアクセスで並べ替え アクセスの種類 (パブリックかプライベートなど) に応じて型およびメンバーを一覧表示します。
オブジェクトの型でグループ化 オブジェクトの種類によって型およびメンバーを並べ替えてグループにします。
宣言へ移動 (C++ プロジェクトのみ) ソース コードの型またはメンバーの宣言を表示します (存在する場合)
定義に移動 ソース コードの型またはメンバーの定義を表示します (存在する場合)
参照へジャンプ ソース コード内の型またはメンバーへの参照を表示します (存在する場合)
呼び出し階層の表示 [呼び出し階層] ウィンドウで、選択したメソッドが表示されます。

コード定義ウィンドウ (C#、C++)

[コード定義] ウィンドウには、アクティブなプロジェクトに含まれている、選択した型またはメンバーの定義が表示されます。 型またはメンバーは、コード エディターやコード ビューのウィンドウで選択できます。

このウィンドウは読み取り専用ですが、ブレークポイントまたはブック マークを設定できます。 表示された定義を変更するには、ショートカット メニューの [定義の編集] を選択します。 これにより、コード エディターでソース ファイルが開かれ、定義の開始行にカーソル位置が移動します。

コード定義のショートカット メニュー

[コード定義] ウィンドウには、プログラミング言語に応じて次のコマンドが含まれている場合があります。

単体テストの作成 選択した要素の単体テストを作成します。
シーケンス ダイアグラムの生成 メソッドを選択すると、シーケンス ダイアグラムが生成されます。
プライベート アクセサーの作成 ソリューションに単体テストが含まれている場合は、コードにアクセスするためにテストで使用されるメソッドが生成されます。
定義に移動 定義 (部分クラスの場合は複数の定義) を見つけ、[検索結果] ウィンドウに表示します。
すべての参照の検索 ソリューションの型またはメンバーへの参照を検索します。
呼び出し階層の表示 [呼び出し階層] ウィンドウにメソッドが表示されます。
呼び出し元のテストの表示 プロジェクトに単体テストがある場合は、選択したコードを呼び出すテストを表示します。
呼び出し元のテストの実行 プロジェクトに単体テストがある場合は、選択したコードのテストを実行します。
ブレークポイント ブレークポイント (またはトレース ポイント) を挿入します。
カーソル行の前まで実行 カーソルの位置までプログラムをデバッグ モードで実行します。
コピー 選択した行をコピーします。
アウトライン 標準のアウトライン コマンド。
定義の編集 コード ペインの定義まで挿入ポイントを移動します。
エンコードの選択 ファイルのエンコーディングを設定できるように [エンコード] ウィンドウを開きます。

[ドキュメント アウトライン] ウィンドウ

[ドキュメント アウトライン] ウィンドウを、XAML ページのデザイナーや Windows フォーム デザイナー、または HTML ページなどのデザイナー ビューと共に使用することができます。 このウィンドウでは、要素がツリー ビューで表示されます。これにより、フォームまたはページの論理構造を表示し、組み込み位置の深いコントロールや非表示になっているコントロールを見つけることができます。

関連項目

[クラス ビュー] ウィンドウとオブジェクト ブラウザーのアイコン