编辑和导航 C/C++ 源文件 - NetBeans IDE 6.9 教程
编写人:Ann Rice,维护人:Susan Morgan
2010 年 6 月 [修订版本号:V6.9-1]
下面的简明教程介绍了 NetBeans IDE 6.9 中用于导航和编辑 C 或 C++ 项目源文件的一些功能。
目录
要求
要学习本教程,您需要具备以下软件和资源。
请参见 NetBeans IDE 6.9 安装说明和配置 NetBeans IDE 以使用 C/C++/Fortran,
以获取有关下载并安装所需软件的信息。
样例项目
只是想试用一些项目吗?在 IDE 中,选择“文件”>“新建项目”,然后依次打开“样例”类别和 "C/C++" 子类别。IDE 提供了一些 C 和 C++ 样例项目来帮助您熟悉 IDE。
创建样例项目
带有 C/C++ 插件的 NetBeans IDE 6.9 为修改源代码提供了高级编辑功能。为了说明这些功能,我们将以“报价”项目为例进行讲解。如果还没有创建这个项目,可执行以下操作:
- 选择“文件”>“新建项目”。
- 在项目向导中,展开“样例”类别,并选择 "C/C++" 子类别。
- 选择“报价”项目。单击“下一步”,然后单击“完成”。
编辑 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++ 代码完成功能,键入一个或多个字符之后,您会看到一个包含可能的类、方法、变量等的列表,可以从中选择所需内容来完成表达式。
IDE 还可动态搜索类、函数、方法等的文档,并在弹出式窗口中显示该文档。
- 打开 Quote_1 项目中的 quote.cc 文件。
- 在 quote.cc 的第一个空行上,键入大写字母 C,然后按 Ctrl-空格键。代码完成框会显示一个简短列表,其中包含 Cpu 和 Customer 类。文档窗口也会打开,但显示“找不到文档”,因为项目源文件中不包括其代码的文档。
- 再次按 Ctrl-空格键以展开项目列表。
- 使用方向键或鼠标突出显示某个标准库函数(如 calloc);如果 IDE 可以访问该函数的手册页,则文档窗口会显示该手册页。
- 选择 Customer 类,并按 Enter 键。
- 键入 "andrew;",完成新的 Customer 类实例。在下一行上,键入字母 a 并且按 Ctrl-空格键。代码完成框显示以字母 a 开头的选择列表,例如可从当前上下文访问的方法参数、类字段和全局名。
- 双击 andrew 选项接受它,并在其后键入一个句点。它会自动为提供一个 Customer 类的公共方法和字段列表。
- 删除添加的代码。
添加源代码文档
您可以在代码中添加注释,以便自动为函数、类和方法生成文档。IDE 可以识别使用 Doxygen 语法的注释,并自动生成文档。IDE 还可以自动生成注释块,以在注释下面生成函数的文档。
- 在 quote.cc 文件中,将光标置于第 74 行或该行的上一行
int readNumberOf(const char* item, int min, int max) {
- 键入一个正斜杠和两个星号,然后按 Enter 键。编辑器会为 readNumberOf 类插入 Doxygen 格式的注释。
- 在每个 @param 行中添加一些描述性文本,然后保存该文件。
- 在 readNumberOf 类仍然以黄色突出显示的情况下,单击右侧的某个实例标记以跳转至使用该类的位置。
- 单击所跳转到的行中的 readNumberOf 类,然后按 Ctrl-Shift-空格键以显示刚才为参数添加的文档。
- 单击该文件中的任意其他位置以关闭文档窗口,然后再次单击 readNumberOf 类。
- 使用菜单选项“源”>“显示文档”以再次打开该类的文档窗口。
使用代码模板
源代码编辑器有一组可定制代码模板,可以定制常用的 C 和 C++ 代码片段。通过键入代码片段的缩写形式并按 Tab 键,可以生成完整的代码片段。例如,在 Quote 项目的 quote.cc 文件中:
- 键入 uns 后按 Tab 键,uns 便会扩展为 unsigned。
- 键入 iff 后按 Tab 键,iff 便会扩展为 if (exp) {}。
- 键入 ife 后按 Tab 键,ife 便会扩展为 if (exp) {} else {}。
- 键入 fori 后按 Tab 键,fori 便会扩展为 for (int i = 0; i < size; i++) { Object elem = array[i];。
您可以查看所有可用的代码模板、修改代码模板并创建自己的代码模板。此外,也可以选择使用其他键来扩展代码模板。选择“工具”>“选项”>“编辑器”>“代码模板”,然后选择相应的语言。
用配对完成功能
当编辑 C 和 C++ 源文件时,源代码编辑器会“智能地”匹配成对的符号,比如方括号、圆括号和引号。当键入这些字符中的一个时,源代码编辑器会自动插入一个与之配对的结束字符。
- 在 Quote_1 项目的 module.cc 文件中,将光标置于第 115 行的 { 之后,然后按回车键以开始一个新行。
- 键入 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 联机帮助,然后在帮助窗口中搜索“导航图标”。
查找类、方法和字段的使用实例
也可以使用“使用实例”窗口显示在项目源代码中使用一个类(结构)、函数、变量、宏或文件的所有地方。
- 在 customer.cc 文件中,右键单击第 44 行上的 Customer 类,选择“查找使用实例”。
- 在“查找使用实例”对话框中,单击“查找”。
- 此时“使用实例”窗口会打开并显示项目源文件中的 Customer 类。
使用调用图形
“调用图形”窗口使用两个视图显示了项目中各函数之间的调用关系。树视图显示了从选定函数调用的函数或调用选定函数的函数。图形视图使用箭头显示了被调用函数和调用函数之间的调用关系。
- 在 quote.cc 文件中,右键单击 main 函数,并选择“显示调用图形”。
- 此时打开“调用图形”窗口,其中显示了从 main 函数调用的所有函数的树视图和图形视图。
如果此处未显示所有函数,请单击“调用图形”窗口左侧的第三个按钮,以显示“从该函数调用的函数”。
- 展开 endl 节点以显示该函数所调用的函数。请注意,图形也会更新以显示由 endl 调用的函数。
- 单击窗口左侧的第二个按钮以将焦点置于 endl 函数,然后单击第四个按钮以查看调用 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 类的所有子类型。
请参见调试 C/C++ 项目,该教程介绍了如何使用 NetBeans IDE 中的一些功能来调试 C 或 C++ 项目。