Everything
2.4.6 スマート・エディット機能を使用する

スマート・エディット機能とは,C/C++ソース・ファイルをコーディング中に,関数情報や変数情報,および関数の引数情報などをリスト表示することにより,ユーザの入力を補完する機能です。

スマート・エディット機能では,次の情報の入力補完を行います。

-

グローバル関数

-

グローバル変数

-

構造体/共用体メンバ

-

クラスメンバ関数(C++ソース・ファイルを対象とする場合のみ)【CC-RX】

-

クラスメンバ変数(C++ソース・ファイルを対象とする場合のみ)【CC-RX】

図 2.9

スマート・エディット機能の表示例

注意 1.

この機能は,CS+が提供するビルド・ツール(CC-RH/CC-RX/CC-RL)を使用している場合のみサポートされる機能です(外部ビルド・ツールを使用している場合,この機能は無効となります)。

注意 2.

混合表示モードを選択している場合,この機能は無効となります。

注意 3.

構造体がネストしている場合,3段目以降についてはこの機能は無効となります。

 

スマート・エディット機能は,次の表示を行います。

 

(1)関数/変数/関数の引数候補

(2)関数/変数情報のポップアップ

 

なお,この機能を使用するためには,次の設定が必要となります。

-

オプション ダイアログの[テキスト・エディタ - 一般・デバッグ]カテゴリ内の[スマート・エディット]チェック・ボックスを選択してください(デフォルト)。

-

スマート・エディット機能は,ビルド・ツールが出力するクロス・リファレンス情報を使用して入力候補表示を行います。したがって,使用するビルド・ツールのプロパティ パネルにおいて,[クロス・リファレンス情報を出力する]プロパティを[はい(-Xcref)]【CC-RH】【CC-RX】/[はい(-cref)]【CC-RL】に指定したのち,ビルドの実行を完了させてください。
なお,ビルドの際にエラーが発生した場合,エラー発生前のクロス・リファレンス情報が存在する場合はそれを使用します。

この設定が無効な場合,クロスリファレンス情報がクリアされるため,スマート・エディット機能は使用不可となります。

(1)

関数/変数/関数の引数候補

(a)

表示方法

関数/変数の候補は,次のいずれかの場合に表示されます。

-

“.”,または“->”を入力した時点で左辺に対して該当するメンバがある場合

-

“::”を入力した時点で左辺に対して該当するメンバがある場合(C++ソース・ファイルを対象とする場合のみ)【CC-RX】

-

キーボードより,[Ctrl]+[Space]キーを押下した場合(すべての候補を表示)
ただし,候補が1つのみの場合は候補表示を行わず,該当文字列がこの時点で挿入されます。

注意

メンバ名を途中まで入力して[Ctrl]+[Space]を押下した場合, 候補表示は正しく行われません。

 

関数の引数候補は,次のいずれかの場合に表示されます。

-

関数名において,“(”を入力した時点で左辺に対して該当する関数の引数がある場合

-

関数の引数位置にキャレットがある状態で,キーボードより,[Ctrl]+[Shift]+[Space]キーを入力した場合

(b)

文字列の挿入方法

候補表示のリストより文字列を[↑]/[↓]キー,またはマウスにより選択したのち,[Enter],または[TAB]キーを押下します。

(c)

候補表示の消去方法

候補表示は,次のいずれかの操作により消去されます。

-

[ESC]キーの押下

-

英数字以外のキーの入力

候補リストで何も選択していない場合 : 何もしません。

候補リストで選択している場合 : 選択している候補の文字列を挿入します。

(d)

各エリアの説明(関数/変数の候補表示)

図 2.10

関数/変数の候補表示

-

候補リスト

関数/変数の候補をアルファベット順に表示します。

キャレット位置の文字列と一致する文字列がある場合は,その文字列が強調表示されます(大文字/小文字不問)。

なお,各候補の先頭には,次のアイコンを表示します。

アイコン

説明

 

候補がtypedefであることを示します。

 

候補が関数であることを示します。

 

候補が変数であることを示します。

 

候補がクラスであることを示します。【CC-RX】

 

候補が構造体であることを示します。

 

候補が共用体であることを示します。

 

候補が名前空間であることを示します。【CC-RX】

 

候補がProtectedメンバであることを示します。【CC-RX】

 

候補がPrivateメンバであることを示します。【CC-RX】

-

ツールバー

関数/変数の候補の表示/非表示を切り替えます。

ボタン

説明

 

選択することにより,関数の候補を表示します。

 

選択することにより,変数の候補を表示します。

-

タブ

表示するメンバを切り替えます。

タブ名

説明

All members

すべての候補を表示します。

Public members

Public属性の候補のみ表示します。

-

詳細表示

現在選択されている関数/変数の詳細情報を表示します。

項目

説明

(1)

種別

次の種別を表示します。

(function):関数であることを示します。

(variable):変数であることを示します。

(2)

関数/変数の型を表示します。

(3)

名称

関数/変数の名称を表示します。

(4)

属性と型

関数/変数の型を表示します。

【CC-RX】

属性が定義されている場合,アクセス指定子(public/protected/private)を先頭に表示します。

(5)

名称と引数

関数/変数の名称を表示します。関数の場合は引数も表示します。

【CC-RX】

オーバーロード関数の場合,オーバーロードされている個数を“()”内に示します。

(e)

各エリアの説明(関数の引数候補表示)

図 2.11

関数の引数候補表示

項目

説明

(1)

関数の型を表示します。

(2)

名称と引数

関数の名称と引数表示します。現在のキャレット位置の引数が強調表示されます。

(3)

引数候補

関数の名称と引数表示します。

(4)

属性

引数候補の属性(public/protected/private)を表示します。【CC-RX】

(5)

引数候補の数

引数候補が複数存在する場合,引数候補の数を表示します。

▼/▲マークをクリックすると候補表示が切り替わります。

(f)

候補表示の際の注意

-

次の項目は候補表示に対応していません。

-

マクロ定義

-

ローカル変数

-

Typedef

-

関数中に構造体宣言/共用体宣言/クラス宣言【CC-RX】を行った場合,宣言以降関数内で候補表示は行いません。

-

変数のサイズに影響するコンパイル・オプションを設定した場合,表示される変数の型が実際の宣言と異なる場合があります。

-

const,およびmutable属性は表示しません。

-

C++ソース・ファイルの場合【CC-RX】

-

Namespace,およびサブクラス(クラス中で宣言したクラス)はサポートしていません。

-

“(*class)”,または“(*this)”を入力しても関数/変数の候補は表示しません。

-

配列宣言したクラスでは関数/変数の候補は表示しません。

-

左辺にクラスを指定し,メソッド名を途中まで入力した状態で[Ctrl]+[Space]キーを入力した場合,クラス内の関数/変数の候補は表示せず,グローバルな関数/変数の候補を表示します。

(2)

関数/変数情報のポップアップ

ソース・テキスト上の関数名/変数名にマウス・カーソルを重ねると,その関数/変数の情報をポップアップ表示します。

ただし,次の注意が必要です。

-

デバッグ・ツールと接続中にこの機能は使用できません。

-

ヘッダ・ファイル中で宣言されている構造体/共用体,およびメンバ関数【CC-RX】は表示しません。

-

関数の引数に関数呼び出しを含む場合,誤った情報がポップアップ表示されます。

myClass.func(myClass.funcStr(

-

const,static,volatile,およびvirtual【CC-RX】属性は表示しません。

-

クラス型【CC-RX】/構造体型/共用体型/列挙型の変数の場合,メンバの一覧を次のように表示します。

-

クラス型【CC-RX】/構造体型/共用体型の場合,メンバの型とメンバ名を表示
なお,クラス型【CC-RX】の場合でメンバが関数の場合は,返却値の型と関数名を表示し,関数名の最後に“(”“)”を付加

-

列挙型の場合,メンバ名のみ表示

-

メンバ表示については,C/C++ソース・ファイルに定義されている順番で1行に1つを表示(最大20個まで)

-

C++ソース・ファイルの場合【CC-RX】
friend属性はサポートしていません。

 

なお,ポップアップ表示するアイコンの意味は次のとおりです。

アイコン

説明

 

対象がtypedefであることを示します。

 

対象が関数であることを示します。

 

対象が変数であることを示します。

 

対象がクラスであることを示します。【CC-RX】

 

対象が構造体であることを示します。

 

対象が共用体であることを示します。

 

対象が名前空間であることを示します。【CC-RX】

 

対象が列挙型であることを示します。

図 2.12

スマート・エディット機能によるポップアップ表示

 

注意

“#ifdef~#endif”の直後のコードでは,関数/変数情報はポップアップ表示されません。また,メンバの候補も表示されません。
同様に,“#ifdef~#endif”内の最初の変数については,“#endif”以降のコードで変数情報はポップアップ表示されません。また,メンバの候補も表示されません。