Oracle® Developer Studio 12.5:IDE 快速入门教程

退出打印视图

更新时间: 2016 年 6 月
 
 

导航源文件

IDE 提供了用于查看源代码的高级导航功能。要了解这些功能,请继续使用 Quote_1 项目。

窗口管理和分组

除了单个窗口外,您还可以对窗口组执行操作。对于每个窗口所属的组,您可以将其最小化、拖动到新位置、浮动在单独的窗口中或者停靠回 IDE 窗口。

  1. 通过单击组右侧的 "Minimize Window Group"(最小化窗口组)按钮,可以最小化左上部的 "Projects"(项目)、"Files"(文件)、"Classes"(类)和 "Services"(服务)窗口。

  2. 在组的标签区域内单击右键或者选择 "Window"(窗口)> "Configure Windows"(配置窗口)并选择 "Maximize"(最大化)(Shift+Escape),可以最大化窗口组。

    请注意,您可以为窗口组选择其他选项,例如 "Float"(浮动)或者"Dock"(停靠)。

使用 "Classes"(类)窗口

使用 "Classes"(类)窗口可看到项目中的所有类以及每个类的成员和字段。

  1. 单击 "Classes"(类)标签可显示 "Classes"(类)窗口。

  2. 展开 Quote_1 节点。会列出项目中的所有类。

  3. 展开 Customer 类。

    image:“Classes“(类)窗口
  4. 双击 name 变量可打开 customer.h 头文件。

使用 "Navigator"(导航器)窗口

"Navigator"(导航器)窗口提供了当前选定文件的紧凑视图,并简化了在文件的不同部分之间的导航。如果 "Navigator"(导航器)窗口未打开,请选择 "Window"(窗口)> "Navigating"(导航)> "Navigator"(导航器)(Ctrl-7) 打开该窗口。

  1. 在 "Editor"(编辑器)窗口中,单击 quote.cc 文件的任意位置。

  2. 在 "Navigator"(导航器)窗口中会显示该文件的紧凑视图。单击窗口顶部的节点可展开该视图。

    image:“Navigator“(导航器)窗口
  3. 要导航到文件的某个元素,请在 "Navigator"(导航器)窗口中双击该元素,"Editor"(编辑器)窗口中的光标将移到该元素。

  4. 在 "Navigator"(导航器)窗口中右键单击,可看到用于在窗口中对元素进行排序、对项目进行分组或过滤的选项。

  5. 要查看 "Navigator"(导航器)窗口的图标所表示的意义,请通过选择 "Help"(帮助)> "Help Contents"(帮助内容)打开 IDE 联机帮助。在 "Help"(帮助)浏览器中,单击 "Search"(搜索)标签,然后在 "Find"(查找)字段中键入 navigator icons(导航器图标)。

查找类、方法和字段使用实例

您可以使用 "Usages"(使用实例)窗口显示在项目的源代码中使用类(结构)、函数、变量、宏或文件的所有位置。

  1. customer.cc 文件中,右键单击第 42 行上的 Customer 类,选择 "Find Usages"(查找使用实例)(Alt-F7)。

  2. 在 "Find Usages"(查找使用实例)对话框中,单击 "Find"(查找)。

  3. "Usages"(使用实例)窗口将打开,并显示项目的源文件中 Customer 类的所有使用实例。

    image:“Usages“(使用实例)窗口

"Find Usages"(查找使用实例)在后台运行,这样在搜索大量文件时您还可以执行其他任务。"Usages"(使用实例)窗口会在以增量方式找到新结果后进行更新。将会显示进度指示器以及递增的实例数。您可以随时停止搜索,系统将保存截止至该时间点的搜索结果。您可以在搜索命中内容之间进行导航,将视图从逻辑更改为物理,并使用不同的设置再次运行 "Find Usages"(查找使用实例)。

使用调用图

"Call Graph"(调用图)窗口显示类中函数之间的调用关系的两个视图。树视图显示从某个选定函数调用的函数,或者调用该选定函数的函数。图形视图使用箭头来显示被调用函数与调用函数之间的调用关系。

  1. quote.cc 文件中,右键单击 main 函数,然后选择 "Show Call Graph"(显示调用图)。

  2. "Call Graph"(调用图)窗口将打开,并显示从 main 函数调用的所有函数的树视图和图形视图。

    image:“Call Graph“(调用图)窗口

    如果屏幕抓图中没有显示所有函数,请单击 "Call Graph"(调用图)窗口左侧的 "Who is Called From the Function"(此函数中调用的函数)按钮以便显示从 main 函数调用了哪个函数。

  3. 展开 end1 节点以显示该函数所调用的函数。请注意图形已经更新,添加了 end1 所调用的函数。

  4. 选择 end1 节点,单击窗口左侧的 "Bring Into Focus"(聚焦)按钮以将焦点放到 endl 函数上,然后单击 "Who Calls This Function"(调用此函数的函数)按钮来查看调用 end1 函数的所有函数。

    image:“Call Graph“(调用图)窗口
  5. 展开树中的某些节点可看到更多函数。

    image:“Call Graph“(调用图)窗口

使用超级链接

使用超级链接导航,可以从类、方法、变量或常量的调用跳到声明,也可以从声明跳到定义。使用超级链接,还可以从某个被覆盖的方法跳到覆盖它的方法,反之亦然。

  1. Quote_1 项目的 cpu.cc 文件中,在按 Ctrl 键的同时将鼠标移到第 37 行上。将突出显示 ComputeSupportMetric 函数,还会有一条注释显示有关该函数的信息。

    image:包含函数注释的 “Editor“(编辑器)窗口
  2. 单击超级链接,编辑器将跳到函数的定义。

    image:“Editor“(编辑器)窗口
  3. 在按住 Ctrl 键的同时将鼠标移到定义上方,然后单击超级链接。编辑器会跳转至 cpu.h 头文件中的函数声明。

  4. 单击编辑器工具栏中的左箭头,编辑器将跳回到 cpu.cc 中的定义。

  5. 将鼠标光标悬停在左边界的绿色圆圈 image:绿色圆圈图标 上,此时会显示注释,指示此方法会覆盖其他方法。

    image:包含覆盖注释的 “Editor“(编辑器)窗口
  6. 单击绿色圆圈可转到被覆盖的方法,编辑器会跳到 module.h 头文件,该头文件在边界中显示一个灰色圆圈,表示该方法已被覆盖。

  7. 单击灰色圆圈,编辑器会显示覆盖此方法的方法列表。

    image:包含方法列表的 “Editor“(编辑器)窗口
  8. 单击 Cpu::ComputerSupportMetric 项,编辑器会跳回到 cpu.h 头文件中该方法的声明。

使用包含分层结构

使用 "Include Hierarchy"(包含分层结构)窗口,可以检查直接或间接包含在源文件中的所有头文件和源文件,或者直接或间接包含头文件的所有源文件和头文件。

  1. Quote_1 项目中,打开源代码编辑器中的 module.cc 文件。

  2. 右键单击文件中的 #include "module.h" 行,然后选择 "Navigate"(导航)> "View Includes Hierarchy"(查看包含分层结构)。

  3. 缺省情况下,"Hierarchy"(分层结构)窗口显示直接包含头文件的文件的普通列表。单击窗口底部的 "Show Tree View"(显示树视图)按钮。单击 "Show Direct Includes Only"(仅显示直接包含)按钮以显示包含或被包含的所有文件。展开树视图中的节点可看到包含头文件的所有源文件。

    image:“Include Hierarchy“(包含分层结构)窗口

使用类型分层结构

使用 "Type Hierarchy"(类型分层结构)窗口,可以检查类的所有子类型或父类型。

  1. Quote_1 项目中,打开 module.h 文件。

  2. 右键单击 Module 类的声明,然后选择 "Navigate"(导航)> "View Type Hierarchy"(查看类型分层结构)。

  3. "Hierarchy"(分层结构)窗口将显示 Module 类的所有子类型。

    image:“Type Hierarchy“(类型分层结构)窗口