编辑和导航 C/C++ 源文件教程
撰稿及维护人:Ann Rice
2008 年 9 月 [修订版本号:V6.5-1]
下面的简明教程介绍了在 NetBeans IDE 6.5 中导航和编辑 C 与 C ++ 项目源文件的一些功能。
目录

要求
要学习本教程,您需要具备以下软件和资源。
| NetBeans IDE |
带有 NetBeans C/C++ 包的版本 6.5 |
| Java Developer Kit (JDK) |
版本 6 或版本 5 |
Windows 平台:
GNU C 和 C++ 编译器、make、gdb |
www.cygwin.com
www.mingw.org |
Solaris 平台:
GNU C 和 C++ 编译器
Sun C 和 C++ 编译器
Solaris make 和 gmake
gdb |
3.4.3
5.9(Sun Studio 12 发行版)
3.80
6.6 或 6.8 |
Linux 平台:
Red Hat Fedora Core:
gcc 和 g++
gdb
GNU Make
Ubuntu:
gcc 和 g++
gdb
GNU Make |
4.1.2
6.6 或 6.8
3.81
4.1.2
6.6 或 6.8
3.81 |
Mac OS X 平台:
gcc 和 g++
gdb
GNU Make
Xcode 包 |
4.0.1
6.3.50
3.80
6.5 |
有关下载和安装必需软件的信息,请参见 NetBeans IDE 6.5 安装指南和安装和配置 C/C++ 支持。
样例项目
只是想试用一些项目吗?在 IDE 中,选择“文件”>“新建项目”,然后依次打开“样例”类别、"C/C++" 子类别和 "C/C++" 子类别。IDE 提供了一些 C 和 C++ 样例项目来帮助您熟悉 IDE。
创建样例项目
NetBeans C/C++ Pack 6.1 为修改源代码提供了先进的编辑功能。为了说明这些功能,我们将以“报价”项目为例进行讲解。如果还没有创建这个项目,可执行以下操作:
- 选择“文件”>“新建项目”。
- 在项目向导中,展开“样例”类别,并选择 "C/C++" 子类别。
- 选择“报价”项目。单击“下一步”,然后单击“完成”。
编辑 C 和 C++ 源文件
设置格式样式
可以使用“选项”窗口为 C 和 C++ 项目配置缺省格式样式。
- 选择“工具”>“选项”。
- 在窗口的顶部窗格中单击“编辑器”。
- 单击“格式设置”标签。
- 从语言下拉列表中选择想要设置格式样式的语言。
- 从“样式”下拉列表中选择要设置的样式。
- 按您的想法修改样式属性。
折叠 C 和 C++ 文件中的代码块
对于一些文件类型,可以使用代码折叠功能折叠代码块,这样源代码编辑器中只显示代码块中的第一行代码。
- 在 Quote_1 应用程序项目中,打开 Source Files 文件夹,然后双击 cpu.cc 文件以在源代码编辑器中将其打开。
- 单击左边的折叠图标(标有减号的小方块),折叠其中一个方法的代码。
- 将鼠标移动到折叠代码块右边的 {...} 符号上,以显示代码块中的代码。
使用语义高亮显示
可以设置一个选项,当单击一个类、函数、变量或者宏时,在当前文件中出现这个类、函数、变量或宏的所有地方都会高亮显示。
- 选择“工具”>“选项”。
- 单击窗口顶部窗格中的 "C/C++"。
- 单击“突出显示”标签。
- 确保所有复选框都包含复选标记。
- 单击“确定”。
- 在 Quote_1 项目的 customer.cc 文件中,注意以粗体突出显示的函数名。
- 单击某个出现的 Customer 类。
- 文件中出现 Customer 类的所有地方都会以黄色背景突出显示。

- 在 customer.h 文件中,注意类字段是以粗体突出显示的。

使用代码完成功能
IDE 具有动态 C 和 C++ 代码完成功能,键入一个或多个字符之后,您会看到一个包含可能的类、方法、变量等的列表,可以从中选择所需内容来完成表达式。
- 打开 Quote_1 项目中的 quote.cc 文件,右键单击源代码编辑器的左边空白区域,选择“显示行号”。
- 在 quote.cc 的第 41 行上,按住 Ctrl-空格键,并输入大写字母 C。代码完成框显示一个简短列表,其中包含 Customer 类。可以再次按 Ctrl-空格键展开列表。
- 选择 Customer 类,并按 Enter 键。
- 键入 "andrew;",完成新的 Customer 类实例。在下一行上,键入字母 a 并且按 Ctrl-空格键。代码完成框显示以字母 a 开头的选择列表,例如可从当前上下文访问的方法参数、类字段和全局名。
- 双击 andrew 选项接受它,并在其后键入一个句点。它会自动为提供一个 Customer 类的公共方法和字段列表。
- 删除添加的代码。
使用代码模板
源代码编辑器有一组可定制代码模板,可以定制常用的 C 和 C++ 代码片段。通过键入其缩写形式并按空格键,可以生成完整的代码片段。例如,在 Loki 项目的 Singleton.cpp 文件中:
- 键入 uns 并按空格。uns 会展开为 unsigned。
- 键入 iff 并按空格。iff 会展开为 if () {}。
- 键入 ife, 并按空格。ife 会展开为 if () {} else {}。
- 键入 fori 并按空格。fori 会展开为 for (int i = 0; i < ; i++) {}。
用配对完成功能
当编辑 C 和 C++ 源文件时,源代码编辑器会“智能地”匹配成对的符号,比如方括号、圆括号和引号。当键入这些字符中的一个时,源代码编辑器会自动插入一个与之配对的结束字符。
- 在 Quote_1 项目中,把光标放置在 module.cc 文件第 114 行的 { 之后,并按 Return 键转至新的一行。
- 键入 enum state { 并按 Return 键。结束的方括号和分号被自动添加,光标位于括号之间的行上。
- 键入 invalid=0, success=1 完成枚举。
- 在枚举的右花括号 }; 之后的行中,键入 if (。此时右圆括号会自动添加,并且光标会至于左右圆括号之间。
- 键入 v==null。然后在右圆括号之后键入 { 和换行符。结束括号被自动添加。
- 删除添加的代码。
导航 C 和 C++ 源文件
NetBeans C/C++ Pack 6.5 为查看源代码提供了先进的导航功能。为了说明这些功能,我们继续以 Quote_1 项目为例进行讲解。
使用“类”窗口
“类”窗口可以使您看到项目中的所有类,以及每个类的成员和字段。
- 单击“类”标签显示“类”窗口。
- 展开 Quote_1 节点。项目中所有类都会被列出。
- 展开 Customer 类。
- 双击 name 变量打开 customer.h 头文件。
使用“导航”窗口
“导航”窗口提供了一个当前选定文件的紧凑图,并简化了文件不同部分之间的导航。
- 在编辑器窗口中单击 quote.cc 文件中的任意位置。
- 文件的紧凑视图就会在“导航”窗口中显示出来。
- 要导航至文件的一个元素,可以在“导航”窗口中双击该元素,编辑器窗口中的光标就会移动到这个元素处。
查找类、方法和字段的使用实例
也可以使用“使用实例”窗口显示在项目源代码中使用一个类(结构)、函数、变量、宏或文件的所有地方。
- 在 customer.cc 文件中,右键单击第 44 行上的 Customer 类,选择“查找使用实例”。
- 在“查找使用实例”对话框中,单击“查找”。
- 此时“使用实例”窗口会打开并显示项目源文件中的 Customer 类。

使用调用图形
“调用图形”窗口显示选定函数中调用的函数树视图,或者调用该函数的函数树视图。
- 在 quote.cc 文件中,右键单击 main 函数,并选择“显示调用图形”。
- 此时“调用图形”窗口会打开,显示从 main 函数调用的所有函数的树视图。

- 展开 endl 节点以显示该函数所调用的函数。
- 单击窗口左边的第二个按钮以重点关注 endl 函数,然后单击底部按钮将图形更改为调用该函数的所有函数的树视图。
- 展开树中的某些节点以查看更多函数。

使用超级链接
通过使用超级链接导航,可以从调用类、方法、变量或常量跳转至声明,从声明跳转至定义。
- 在 Quote_1 项目的 cpu.cc 文件中,按住 Ctrl 键的同时将鼠标悬停在第 48 行上。此时 ComputeSupportMetric 函数会突出显示。
- 单击超级链接,编辑器会跳转至函数定义。
- 在按住 Ctrl 键的同时,将鼠标悬停在其定义上,然后单击超级链接。编辑器会跳转至 cpu.h 头文件中的函数声明。
- 单击编辑器工具栏中的向左箭头,编辑器就会跳回到定义。
使用包含分层结构
“包含分层结构”窗口可用于检查直接或间接地包含于源文件中的所有头文件和源文件,或者直接或间接地包含于头文件中的所有源文件和头文件。
- 在 Quote_1 项目中,打开源代码编辑器中的 module.cc 文件。
- 右单击文件中的 #include "module.h" 行,选择“导航”>“查看包含分层结构”。
- 缺省情况下,“分层结构”窗口仅显示直接包含该头文件中的文件的普通列表。单击窗口底部最右边的按钮,把显示转化为树视图。单击右侧第二个按钮,将显示转换为包含或被包含的所有文件。展开树视图的节点,查看包含头文件的所有源文件。
使用类型分层结构
“类型分层结构”窗口可用来查看一个类的所有子类型或超类型。
- 在 Quote_1 项目中,打开 module.h 文件。
- 右键单击 Module 类声明,选择“导航”>“查看类型分层结构”。
- “分层结构”窗口显示 Module 类的所有子类型。
查阅调试 C/C++ 项目,该教程讨论了 NetBeans IDE 6.5 中一些 C 或 C++ 项目调试功能的使用。