C++ クラス エクスプローラの概要

提供: Appmethod Topics
移動先: 案内検索

C++ クラス エクスプローラのトピック への移動



表示 > C++ クラス エクスプローラ


CppClassExpl6Smaller.png

[C++ クラス ブラウザ]ウィンドウにはスクリーンショットにあるように、3 つのペインがあります:

  1. 型リスト: プロジェクト内のデータ型をツリー形式で表示するビュー。 この型リストは、クラス エクスプローラとやり取りするためのツールとして使用します。
  2. [ソース]/[参照]/[グラフ]ウィンドウ: 読み取り専用のプレビュー ウィンドウ。型リストで選択した項目の宣言に着目します。
  3. メンバ ビュー: 型リストで選択した項目を詳しく展開して表示するビュー。

スクリーンショットの[C++ クラス ブラウザ]では[グラフ]ペインが開いていて、現在型リスト(左側のペイン)で選択されているすべての型の間の継承階層がグラフィックに表示されています。

[C++ クラス ブラウザ]を開くと、以下の処理が行われます。

  1. 解析: C++ クラス エクスプローラは、プロジェクトに登録されているすべてのユニット ファイルを解析します。 クラス エクスプローラをいったん閉じて開き直すと、以前に(エラーなどが原因で)コンパイルが失敗したファイルと、前回のコンパイルが成功した後で変更されたファイルが、すべて解析されます。 ここで取得した情報を基に、型リスト ツリーのノード(名前空間、ユニット、クラス、インターフェイス、型)が整理されます。
  2. コンパイル中: C++ クラス エクスプローラは、前回[C++ クラス ブラウザ]で表示した後で変更されたファイルをすべてコンパイルします。
  3. [C++ クラス ブラウザ]ウィンドウの表示: [C++ クラス ブラウザ]には、同じ項目の異なる側面に着目する 3 つのペインがあります。
    • 型リスト ペインには、プロジェクト内のデータ型について大量の情報が示されます。クラスやインターフェイスで宣言されたメンバがすべて一覧表示されます。 デフォルトで表示される要素は、クラス、構造体、インターフェイスだけです。
    • メンバ ビューでは、型リストでクリックした 1 つの項目が展開され、詳細に表示されます。
    • 同時に、[ソース]/[参照]/[グラフ]ウィンドウの[ソース]タブには、その項目の宣言が読み取り専用モードで表示されます。

C++ クラス エクスプローラは、各シンボルが初めて定義されたときや、その後使用されたときなどの参照情報を自動的に生成します。 参照情報は、[C++ クラス ブラウザ]ウィンドウ上の[定義に移動]および[宣言に移動]のコンテキスト メニュー コマンドを使用して確認できます(ツールバー上では、[選択したノードの宣言に移動]ボタンや[この宣言の定義に移動]ボタン)。

フィールド、メソッド、プロパティの自動作成

C++ クラス エクスプローラでは、以下のツールバー ボタンやコンテキスト メニュー コマンドが提供されていて、フィールドやメソッドやプロパティの作成を自動的に行うことができます:

これらのコンテキスト メニュー コマンドは、選択したクラスやインターフェイスが管理対象ユニットのヘッダーに含まれる場合にしか有効になりません。 逆に、[宣言に移動][定義に移動]のコマンドは、管理対象ユニットの型でなくても利用可能です。

これらのコマンドのいずれかを使用すると、フィールド、メソッド、またはプロパティの宣言が .h ファイルに追加され、コード スタブが .cpp ファイルのユーザー宣言内に作成されます。

追加コマンドのいずれかを実行した後、変更したソースやヘッダーに依存するソースはすべて再コンパイルされます。 同様に、ファイルを保存すると、そのファイルに依存するソースがすべて再コンパイルされます。 また、C++ クラス エクスプローラを開いたままでプロジェクト ソースを変更した場合、[C++ クラス エクスプローラ]ウィンドウを次に有効にしたときにエクスプローラ ビューが更新されます。

クラスおよびインターフェイスの表示と分類の制御

型リストでは、ツールバー アイコンやコンテキスト メニュー コマンドを使って、ツリー構造内の要素を分類したり、特定の要素を表示したり非表示にすることができます。

  • 次の分類コマンドを使って、型リストの要素を分類します。
    • [型を名前空間別に分類]GroupTypesByNamespace.bmp
    • [型をファイル別に分類]GroupTypesByFiles.bmp
    • 以下のような表示グループ別に分類 (ClExplCustomGroup.bmp
      • [$(PROJECT)] - ローカル プロジェクトで定義された要素
      • [VCL] - ビジュアル コンポーネント ライブラリ(VCL)で定義された要素
      • [RTL] - C++ ランタイム ライブラリで定義された要素
      • [ATL] - アクティブ テンプレート ライブラリで定義された要素
      • [STL] - Dinkumware 標準 C++ ライブラリで定義された要素
      • [BOOST] - Boost ライブラリで定義された要素
      • [その他] - 定義された分類に属さないディレクトリで定義された要素
  • ビューに TypedefsClExplTypedef.bmp)や列挙型ClExplEnum.bmp)を含めるには、ツールバー ボタンまたはコンテキスト メニュー コマンドの[表示]を使用します。

独自のカスタム グループの定義ClExplCreateGroup.bmp

型リスト[カスタム ファイル グループの構成]ClExplCreateGroup.bmpツールバー ボタンをクリックすると、[エクスプローラ ファイル グループ]ダイアログ ボックスが開き、カスタム グループを作成したり、グループ(カスタム グループや上に挙げた既存のグループ)を有効または無効にすることができます。 グループを無効にすると、そのグループの内容は、一時的に[その他]というグループに表示されます。 無効なグループを有効化すると、そのグルーブは再び型リストに表示されます。

型リストのツールバー アイコンとコンテキスト メニュー コマンドの詳細は、[C++ クラス ブラウザ]ウィンドウを参照してください。

インターフェイスとして表示される要素の指定

デフォルトで、クラス エクスプローラは、フィールドを持たず、純粋仮想メソッドのみを持ち、IUnknown から派生したクラスを、インターフェイスとみなします。 つまり、デフォルトでは、このようなクラスにだけインターフェイスのアイコン(ClExplInterface.bmp)が使われます。

クラス エクスプローラ(C++) ダイアログ ボックスで、次のうちどちらかまたは両方を表すのに、クラス アイコン(ClExplClassNum16.bmp)ではなく、インターフェイス アイコン(ClExplInterface.bmp)を使用するよう、指定することができます。

  • 純粋抽象関数しか持たないクラス
  • IUnknown から派生したクラス

表示設定の保存

作成した表示設定を保存できます。保存された表示設定は、C++ クラス エクスプローラを次に表示させたときに使用されます。 表示設定には、次のいずれかを使用して設定した値がすべて含まれます。

  • ツールバーの各ボタン([型リストで列挙型を表示]など)
  • [C++ クラス エクスローラ プロパティ]ダイアログ ボックス(コンテキスト メニュー、または、[ツール|オプション...|C++ オプション|クラス エクスプローラ から起動)

ダイアログ ボックスの現在の設定は、クラス エクスプローラまたは[C++ クラス エクスプローラ プロパティ]ダイアログ ボックスのどちらかで[OK]をクリックするたびに保存されます(カスタム グループ以外のその他のカスタム設定も同様)。 この表示設定はクラス エクスプローラ用の設定です。プロジェクト用の設定ではありませんので、表示設定を保存するためにプロジェクトを保存する必要はありません。

ダイアログ ボックスで[キャンセル]をクリックすると、表示設定は保存されず、次回 C++ クラス エクスプローラを開いたとき、表示設定はすべて元のデフォルト値になります。

手順の詳細は、「C++ クラス エクスプローラでの表示設定の保存」を参照してください。

関連項目

関連手順