定義と参照箇所の検索(C++)
コード エディタのコンテキスト メニュー への移動
目次
概要
弊社のClang 強化 C++ コンパイラ(BCC64、BCCIOSARM、BCCIOSARM64、BCCAARM)は、C++ インデックス機能をサポートするようになりました。このため、コード エディタで[定義の検索や参照箇所の検索]コマンドが提供されています。 RAD Studio でインデックス付けを有効にした後、コマンドの[検索] menuが、コード エディタの C++ 識別子を右クリックした際にでてくるコンテキスト メニューで利用可能になります。 定義の検索や参照箇所の検索のコマンドは、識別子の種類に応じて、プログラミング作業の生産性を向上させるさまざまな情報を返します。
たとえば、次のような情報を得ることができます。
- 識別子の宣言
- 基底クラスや派生クラス(識別子がクラスを指している場合)
- 選択した識別子がプロジェクト全体の中で参照されているすべての箇所を含むツリー ビュー
詳細は、「[検索]メニューのコマンド」にある個々のコマンドの説明を参照してください。
定義の検索と参照箇所の検索を有効にする
定義の検索と参照箇所の検索の機能を有効にするには、まず C++ プロジェクトのファイルにインデックスを付けて、インデックス ファイルを作成する必要があります。インデックス作成作業の過程で、RAD Studio は、必要な情報をすべて格納した SQLite インデックス ファイルを作成します。このファイルの名前は <プロジェクト GUID>.db
です。
現在のプロジェクトのインデックス ファイルを作成する
- [プロジェクト|オプション...|プロジェクト プロパティ]を選択します。
- [C++ プロジェクト プロパティ]の下の['定義と参照箇所' のインデックス ファイル]をオンにし、[OK]をクリックします。
新規作成するすべてのプロジェクトにインデックスを付ける
- [ツール|オプション...|環境オプション|C++ オプション|プロジェクト プロパティ]を選択します。
- [C++ プロジェクトのデフォルト プロパティ (新規プロジェクトにのみ適用)]の下の['定義と参照箇所' のインデックス ファイル]をオンにし、[OK]をクリックします。
インデックス作成処理について
RAD Studio がインデックス ファイルを作成している間、IDE の[メッセージ]ペインの[インデクサ]タブには、その進行状況が表示されます。
C++ プロジェクト ファイルにインデックスを付けるときには、以下の点に注意してください。
- RAD Studio は、ファイル単位でプロジェクト インデックスを構築します。
- インデックスを作成できるのは、アクティブなプロジェクトだけです。 プロジェクトをアクティブにするには、プロジェクト ウィンドウでプロジェクト ファイル(
.cbproj
ファイル)を右クリックし、コンテキスト メニューで[アクティブ化]を選択します。 - 処理が成功すると、[インデクサ]タブに「
*** 全インデックス準備完了 ***
」というメッセージが表示されます。- 成功しなければ、インデックスを作成できなかったファイルのリストがタブに表示されます。その場合には、それらのファイルが正しいものであり、コンパイル可能であるかを確認してください。
- RAD Studio は、次のような場合にインデックス ファイルを自動的に再作成します。
- プロジェクトのファイルのいずれかを変更し、変更を保存したとき
- プロジェクト オプションを変更したとき
[検索]メニューのコマンド
コード エディタの[検索]メニューは、識別子を右クリックして表示されるコンテキスト メニューから使用できます。[検索]メニューでは、アクティブなプロジェクト全体を対象として必要な情報(選択した識別子の参照箇所や定義など)を検索し、検索結果を表示するための、一連のコマンドが提供されています。コマンドによっては、RAD Studio の IDE でコード エディタが開き、見つかった情報のソース コードが表示されることがあります。また、検索結果が別のペインに表示されることもあります。このペインからソース コードに移動することができます。
サポートされているコマンドは以下のとおりです。
- [定義の検索](C++): アクティブなプロジェクト全体を対象として、選択した識別子の定義を検索します。
- [参照箇所の検索](C++): アクティブなプロジェクト全体を対象として、選択した識別子のすべての参照箇所を検索します。
- [基底型の表示](C++): 選択した識別子のクラスまたはメソッドの基底型を表示します。
- [派生型の表示](C++): 選択した識別子のクラスまたはメソッドの派生型を表示します。
- [型階層の表示](C++): 選択した識別子のクラスまたはメソッドの階層を表示します。
- [型宣言に移動](C++): 選択した識別子の型の宣言に移動します。
- [ヘッダー依存関係](C++): 選択したヘッダーが依存しているすべてのヘッダーをツリー形式で表示します。
- [移動先](C++):アクティブなプロジェクト全体の中から、指定した検索条件に一致する識別子や定数を検索します。