C/C++ ソースファイルの編集とナビゲート - NetBeans IDE 6.9 チュートリアル
執筆: Ann Rice、管理: Susan Morgan
2010 年 6 月 [リビジョン番号: V6.9--1]
このチュートリアルでは、NetBeans IDE 6.9 の C/C++ プロジェクトのソースファイルを編集およびナビゲートするための機能の一部を学ぶことができます。
目次
要件
このチュートリアルに従うには、次のソフトウェアとリソースが必要です。
必要な NetBeans ソフトウェアのダウンロードとインストールについては、「NetBeans IDE 6.9 のインストール」および「C/C++/Fortran 向けの NetBeans IDE の構成」を参照してください。
必要なソフトウェアのダウンロードとインストールに役立ててください。
サンプルプロジェクト
プロジェクトをいくつか試しに操作できます。IDE で「ファイル」>「新規プロジェクト」を選択し、「サンプル」カテゴリ、「C/C++」サブカテゴリの順に開きます。IDE には、知識を深めるのに役立つ C/C++ サンプルプロジェクトがいくつか用意されています。
サンプルプロジェクトの作成
C/C++ プラグインを使用した NetBeans IDE 6.9 には、ソースコードを変更するための高度な編集機能が提供されています。Quote プロジェクトを使用して、これらの機能を確認します。まだこのプロジェクトを作成していない場合は、次の操作を実行します。
- 「ファイル」>「新規プロジェクト」を選択します。
- プロジェクトのウィザードで「サンプル」カテゴリを展開し、「C/C++」サブカテゴリを選択します。
- Quote プロジェクトを選択します。「次へ」をクリックして、「完了」をクリックします。
C/C++ ソースファイルの編集
スタイルの整形の設定
「オプション」ウィンドウを使用して、C/C++ プロジェクトに対するデフォルトのスタイルの整形を構成できます。
- 「ツール」>「オプション」を選択します。
- ウィンドウの上区画の「エディタ」をクリックします。
- 「整形」タブをクリックします。
- Quote プロジェクトは C++ を使用するため、「言語」ドロップダウンリストから「C++」を選択します。
- 設定するスタイルを「スタイル」ドロップダウンリストから選択します。
- 必要に応じて、スタイルのプロパティーを変更します。
C/C++ ファイルのコードブロックの折り畳み
ファイルの種類によっては、コード折り畳み機能を使用してコードブロックを縮小し、ブロックの最初の行のみがソースエディタに表示されるようにできます。
- Quote_1 アプリケーションプロジェクトで、「Source Files」フォルダを開き、cpu.cc ファイルをダブルクリックして、ソースエディタで開きます。
- 左マージンにある縮小アイコン (マイナス記号の付いた小さなボックス) をクリックし、いずれかのメソッドのコードを折り畳みます。
- 折り畳まれたブロックの右側にある {...} 記号にマウスを置いて、そのブロック内のコードを表示します。
意味解釈の強調表示の使用
このオプションを設定すると、クラス、関数、変数、またはマクロをクリックしたときに、現在のファイル内でそのクラス、関数、変数、またはマクロが出現する箇所がすべて強調表示されます。
- 「ツール」>「オプション」を選択します。
- ウィンドウの上区画の「C/C++」をクリックします。
- 「強調表示」タブをクリックします。
- すべてのチェックボックスにチェックマークが付いていることを確認します。
- 「了解」をクリックします。
- Quote_1 プロジェクトの customer.cc ファイルで、メソッド名がボールドで強調表示されていることを確認します。
- Customer クラスの出現箇所をクリックします。
- ファイル内にある Customer クラスのすべての出現箇所が、黄色の背景で強調表示されます。右マージンにも、ファイル内の出現箇所を示すマークが表示されます。このマークにより、ファイルをスクロールしなくても、出現箇所がどのくらいあるかを確認できます。マークをクリックすると、それが示す出現箇所へジャンプできます。
- ヘッダーフォルダにある customer.h ファイルを開くと、ここでもメソッド名がボールドで強調表示されているのが確認できます。
コード補完およびドキュメントの使用
IDE の動的 C/C++ コード補完機能によって、ユーザーが文字を 1 文字以上入力すると、その式を自動的に補完するためのクラス、メソッド、変数といった選択肢のリストが表示されます。
また、IDE はクラス、関数、メソッドなどのドキュメントを動的に検索して、ポップアップウィンドウにドキュメントを表示します。
- Quote_1 プロジェクトの quote.cc ファイルを開きます。
- quote.cc の最初の空行で、大文字の C を入力して Ctrl-Space キーを押します。コード補完ボックスに、Cpu および Customer クラスを含む候補一覧が表示されます。ドキュメントウィンドウも開きますが、そのコードのドキュメントがプロジェクトソースに含まれていないため、ドキュメントが見つからないというメッセージが表示されます。
- 再度 Ctrl-Space を押して、項目の一覧を展開します。
- 矢印キーまたはマウスを使用して calloc などの標準ライブラリ関数を強調表示すると、IDE がマニュアルページにアクセスできる場合は、ドキュメントウィンドウにその関数のマニュアルページが表示されます。
- Customer クラスを選択し、Enter キーを押します。
- 「andrew;」を入力して、Customer クラスの新しいインスタンスを完成させます。次の行で、文字「a」を入力し、Ctrl - ¥キーを押します。コード補完ボックスに、文字「a」から始まる、現在のコンテキストからアクセス可能なメソッド引数、クラスフィールド、大域名などの選択肢が一覧表示されます。
- andrew オプションをダブルクリックして受け入れ、そのあとにピリオド 1 つを入力します。Customer クラスの public メソッドおよびフィールドの一覧が自動的に表示されます。
- 追加したコードを削除します。
ソースコードドキュメントの追加
コードにコメントを追加して、関数、クラス、およびメソッドのドキュメントを自動的に生成できます。IDE は、Doxygen 構文を使用したコメントを認識して、ドキュメントを自動的に生成します。また、IDE は、関数を説明するためのコメントブロックをコメントの下に自動的に生成することもできます。
- quote.cc ファイルの 74 行目 (次に示す行の上の行) にカーソルを置きます。
int readNumberOf(const char* item, int min, int max) {
- スラッシュおよび 2 つのアスタリスクを入力して、Enter を押します。エディタによって、readNumberOf クラスに Doxygen 形式のコメントが挿入されます。
- それぞれの @param の行に説明文を追加して、ファイルを保存します。
- readNumberOf クラスがまだ黄色で強調表示されている間に、右にある出現箇所のマークの 1 つをクリックして、このクラスが使用されている場所へジャンプします。
- ジャンプした行で readNumberOf クラスをクリックして Ctrl-Shift-Space を押すと、追加したパラメータのドキュメントが表示されます。
- ファイル内のどこかをクリックしてドキュメントウィンドウを閉じ、再度 readNumberOf クラスをクリックします。
- メニューオプションの「ソース」>「ドキュメントを表示」を使用して、クラスのドキュメントウィンドウを再度開きます。
コードテンプレートの使用方法
ソースエディタには、一般的な C/C++ コード断片に対するカスタマイズ可能なコードテンプレートが一式があります。省略名を入力し、Tab キーを押すことによって、そのコードスニペットの全体を生成できます。たとえば、Quote プロジェクトの quote.cc ファイル内では次のようになります。
- 「uns」のあとにタブを入力すると、「uns」が「unsigned」に展開されます。
- 「iff」のあとにタブを入力すると、「iff」が「if (exp) {}」に展開されます。
- 「ife」のあとにタブを入力すると、「ife」が「if (exp) {} else {}」に展開されます。
- 「fori」のあとにタブを入力すると、「fori」が「for (int i = 0; i < size; i++) { Object elem = array[i];」に展開されます。
使用できるすべてのコードテンプレートを表示したり、コードテンプレートを変更したり、独自のコードテンプレートを作成したりできます。また、コードテンプレートを展開するキーを別のキーにすることもできます。「ツール」>「オプション」>「エディタ」>「コードテンプレート」を選択して、適切な言語を選択します。
ペア補完機能の使用方法
C/C++ ソースファイルを編集するときは、ソースエディタは大括弧、丸括弧、引用符などのペア文字を自動的に一致させます。これらの文字の 1 つを入力すると、ソースエディタが自動的に対応する閉じる側の文字を挿入します。
- Quote_1 プロジェクトで、module.cc ファイルの行 115 にある { のあとにカーソルを置き、Return キーを押して新しい行を開始します。
- 「enum state {」を入力し、Return キーを押します。閉じ中括弧とセミコロンが自動的に追加され、カーソルが括弧の間の行に置かれます。
- invalid=0, success=1 を入力し、列挙を完成します。
- この列挙の閉じる }; のあとの行で「if (」を入力します。閉じ括弧が自動的に追加され、カーソルが括弧の間に置かれます。
- 「v==null」を入力します。さらに「{」を入力し、右括弧のあとで改行します。閉じ角括弧が自動的に追加されます。
- 追加したコードを削除します。
C/C++ ソースファイルのナビゲート
C/C++ プラグインを使用した NetBeans IDE 6.9 には、ソースコードを表示するための高度なナビゲーション機能が提供されています。Quote_1 プロジェクトを引き続き使用して、これらの機能を確認します。
「クラス」ウィンドウの使用
「クラス」ウィンドウでは、プロジェクトのすべてのクラスと、各クラスのメンバーおよびフィールドを表示できます。
- 「クラス」タブをクリックし、「クラス」ウィンドウを表示します。「クラス」タブが表示されていない場合は、「ウィンドウ」>「クラス」を選択します。
- 「クラス」ウィンドウで「Quote_1」ノードを展開します。プロジェクト内のすべてのクラスが一覧表示されます。
- Customer クラスを展開します。
- name 変数をダブルクリックし、customer.h ヘッダーファイルを開きます。
「ナビゲータ」ウィンドウの使用
「ナビゲータ」ウィンドウには、現在選択されているファイルが縮小表示され、ファイル内の移動を簡単に行えます。「ナビゲータ」ウィンドウが表示されていない場合は、「ウィンドウ」>「ナビゲート」>「ナビゲータ」を選択して開きます。
- 「エディタ」ウィンドウで quote.cc ファイルの任意の場所をクリックします。
- ファイルが縮小表示され、「ナビゲータ」ウィンドウに表示されます。
- ファイルの要素へ移動するには、「ナビゲータ」ウィンドウで要素をダブルクリックすると、「エディタ」ウィンドウでカーソルがその要素へ移動します。
- 「ナビゲータ」で右クリックすると、要素のソート、項目のグループ化やフィルタの方法を別の方法に変更できます。
「ナビゲータ」の各アイコンが何を示しているかを確認するには、「ヘルプ」>「ヘルプの目次」を選択して IDE オンラインヘルプを開き、ヘルプウィンドウで「navigator icons」を検索してください。
クラス、メソッド、およびフィールドの使用状況の検索
「使用状況」ウィンドウを使用して、プロジェクトのソースコード内でクラス (構造)、関数、変数、マクロ、またはファイルが使用されている箇所を確認できます。
- customer.cc ファイルの行 44 にある Customer クラスを右クリックし、「使用状況を検索」を選択します。
- 「使用状況を検索」ダイアログで、「検索」をクリックします。
- 「使用状況」ウィンドウが開き、プロジェクトのソースファイル内での Customer クラスの使用状況がすべて表示されます。
コールグラフの使用
「コールグラフ」ウィンドウには、プロジェクト内の関数間の呼び出し関係を示す 2 つのビューが表示されます。ツリービューには、選択した関数の呼び出し先の関数、または選択した関数の呼び出し元の関数が表示されます。グラフィカルビューには、呼び出し先と呼び出し元の関数の関係が矢印で表示されます。
- quote.cc ファイルで main 関数を右クリックし、「コールグラフを表示」を選択します。
- 「コールグラフ」ウィンドウが開き、main 関数から呼び出されるすべての関数のツリーおよびグラフィカルビューが表示されます。
ここに示すようにすべての関数が表示されない場合は、「コールグラフ」ウィンドウの左側の 3 つ目のボタンをクリックして、「この関数の呼び出し先」を表示します。
- endl ノードを展開し、その関数によって呼び出される関数を表示します。グラフも更新され、endl によって呼び出される関数が表示されます。
- ウィンドウの左側の 2 つめのボタンをクリックして endl 関数にフォーカスを置いてから、4 つめのボタンをクリックして endl 関数を呼び出すすべての関数を表示します。
- ツリー内のノードの一部を展開すると、より多くの関数が表示されます。
ハイパーリンクの使用方法
ハイパーリンクナビゲーション機能を使用して、クラス、メソッド、変数、または定数の呼び出しからその宣言にジャンプしたり、その宣言から定義にジャンプしたりできます。また、ハイパーリンクを使用すると、オーバーライドされるメソッドからオーバーライドするメソッドへジャンプしたり、その逆を行なったりすることもできます。
- Quote_1 プロジェクトの cpu.cc ファイルで、Ctrl キーを押しながら行 36 にマウスポインタを置きます。ComputeSupportMetric 関数が強調表示され、関数についての情報が注釈に表示されます。
-
ハイパーリンクをクリックすると、エディタがその関数の定義にジャンプします。
- Ctrl キーを押しながら定義にマウスを置き、ハイパーリンクをクリックします。エディタが、cpu.h ヘッダーファイル内のその関数の宣言にジャンプします。
- エディタツールバーの左向き矢印 (スクリーンショットで囲んである箇所) をクリックすると、エディタは cpu.cc 内の定義へジャンプして戻ります。
- 左マージンにある緑色の円の上にマウスを置くと、このメソッドが別のメソッドをオーバーライドすることを示す注釈が表示されます。
- オーバーライドされているメソッドを表示するには、緑色の円をクリックします。module.h ヘッダーファイルが表示され、メソッドがオーバーライドされていることを示す灰色の円がマージンに表示されます。
- 灰色の円をクリックすると、エディタはこのメソッドをオーバーライドするメソッドの一覧を表示します。
- Cpu::ComputeSupportMetric の項目をクリックすると、cpu.h ヘッダーファイル内のメソッドの宣言へジャンプして戻ります。
インクルードの階層の使用
「インクルードの階層」ウィンドウでは、ソースファイルに直接または間接的にインクルードされているすべてのヘッダーおよびソースファイル、またはヘッダーファイルを直接または間接的にインクルードするすべてのソースおよびヘッダーファイルを検査できます。
- Quote_1 プロジェクトの module.cc ファイルをソースエディタで開きます。
- ファイルの #include "module.h" 行を右クリックし、「ナビゲート」>「インクルードの階層を表示」を選択します。
- デフォルトでは、階層ウィンドウにはヘッダーファイルを直接含むファイルの単なる一覧が表示されます。ウィンドウの右下隅ボタンをクリックすると、表示がツリービューに変わります。右から二番目のボタンをクリックすると、表示がインクルードするかインクルードされているすべてのファイルに変わります。ツリービューのノードを展開して、ヘッダーファイルを含むソースファイルをすべて表示します。
タイプの階層の使用
「タイプの階層」ウィンドウでは、クラスのすべてのサブタイプまたはスーパータイプを検査できます。
- Quote_1 プロジェクトの module.h ファイルを開きます。
- Module クラスの宣言を右クリックし、「ナビゲート」>「タイプの階層を表示」をクリックします。
- 「階層」ウィンドウには、Module クラスのすべてのサブタイプが表示されます。
NetBeans IDE の C/C++ プロジェクトのデバッグ機能の使用についてのチュートリアルは、C/C++ プロジェクトのデバッグを参照してください。