Eclipse 3.5的快速项目导航功能

开发 后端
Eclipse 3.5中引入了一个快速项目导航的功能。与已有特性相结合,无论是多大的项目,您都可以迅速找到所需的内容。如果您还在大量的包或目录中查找 Java 方法或类,那么不妨考虑本文介绍的这个功能。

Eclipse Galileo就是今年的年度版,Eclipse 3.5。Eclipse 3.5中有不少令人振奋的新功能,下面介绍的是一个快速项目导航的特性。

我曾在某个朋友(他是一名技术主管)所负责的项目工作,他用一个洞穴探险术语 “spelunking(洞穴探险)” 来形容在大型项目中搜寻所需内容的过程,他对这个词给出的解释是:在大量文件目录中搜索特定的类文件。对于大型 Java 项目,随着接口和类的不断增加,在代码库中查找某个文件所需的时间也会随之增加。在 Package Explorer 中梳理大量文件和目录就像是在洞穴深处探险。

如果您还在大量的包或目录中查找 Java 方法或类,则可以考虑本文提供的大型项目导航技巧。尝试放弃使用 Package Explorer 而改用此处的技巧,大多数任务都只需要少量鼠标单击和按键操作便可完成。

Open Declaration

在 Galileo 出现之前的 Eclipse 版本中,打开文件以查看其内容的一种快速方法是右键单击某方法或类,然后在上下文菜单中单击 Open Declaration,在 Java 编辑器中打开 Java 元素(方法、接口或类)。除了使用上下文菜单之外,您还可以按下 Ctrl 键并将鼠标悬停在 Java 编辑器中的元素上。当鼠标悬停在元素上方时,它会转换为可以单击的链接。在 Java 编辑器中单击该链接会将您导向相应元素的声明部分。

Galileo 中新增了一个下拉列表,其中显示了打开声明的选项。单击 Open Declaration 可以在 Java 编辑器中打开所选元素(参见图 1)。

图 1. 打开声明

打开声明

Open Declaration 的***问题就是接口的使用。如果您正在使用接口,则该命令会打开元素的声明 — 它是一个接口。如果您实际上是希望打开所选元素的实现,以便查看项目运行时实际执行的 Java 代码,则可能让您感到有些郁闷。此问题在 Galileo 中的新命令特性中已经得到了解决:Open Implementation.

Open Implementation

要调用 Open Implementation,按下 Ctrl 的同时将鼠标悬停到 Java 编辑器中的某 Java 元素上,就像是需要使用超级链接来打开声明一样。此时会出现下拉列表,并且您可以单击 Open Implementation

图 2. 打开实现

打开实现

使用如上所示的代码,编辑器将打开元素的实际类实现。

图 3. 显示在编辑中的代码

显示在编辑中的代码

Javadoc 超级链接

如果您使用 Javadoc(参见 参考资料)来记录元素信息,则可以通过相同的 Ctrl+单击 技巧来打开 Javadoc 中(使用 @see@link 关键字)引用的元素,如图 4 所示。单击超级链接时,Eclipse 会在 Java 编辑器中打开指定类型。

图 4. 在 Javadoc 注释中使用 Ctrl-单击

Javadoc 注释中的 Ctrl-单击

Galileo 提供了一种新特性,即查看由 @see@link 定义的元素的文档。Javadoc 预览和 Javadoc 视图将元素显示为超级链接。如果您单击超级链接,则会显示相关元素的 Javadoc。如果只需要阅读元素的 Javadoc,那么您可以避免在新的 Java 编辑器视图中打开文件。

图 5. Javadoc 视图中用于快速浏览的超级链接

Javadoc 视图中用于快速浏览的超级链接

查看 Quick Outline

在较大的包含许多方法的类文件中,按 Ctrl+O 可以打开 Quick Outline,以便于快速查找方法或字段。按下 Ctrl+O 之后,键入需要查找的方法的名称。在键入过程中,列表会自动筛选,仅显示匹配的元素。

图 6. 使用 Quick Outline

使用 Quick Outline

从列表中选择元素时,Eclipse 会在当前 Java 编辑器中导航到该元素。

#p#

查看 Quick Type Hierarchy

如果在 Java 编辑器中打开了某个类文件,并且希望在类型层次结构中打开 Java 类型,可以按下 Ctrl+T(或单击 Navigate > Quick Type Hierarchy)来显示类型层次结构。

图 7. 使用 Quick Type Hierarchy

使用 Quick Type Hierarchy

层次结构将显示所选元素的子类型。举例来说,如果您在调用 Quick Type Hierarchy 时选择了某个接口,则列表将显示已知的所有实现了该接口的类。

再次按下 Ctrl+T,Quick Type Hierarchy 将在列表中显示超类型(参见图 8)。现在,列表将包含所选元素实现的任何接口以及它扩展的所有类。

图 8. 使用 Quick Type Hierarchy 查找超级类型

使用 Quick Type Hierarchy 查找超级类型

从 Quick Type Hierarchy 的列表中选择一个类型,Eclipse 将在一个新的 Java 编辑器中打开所选类型。

打开类型

如果知道希望在编辑器中打开的 Java 类的名称,则找到并打开它的最简单的方法是按下 Ctrl+Shift+T(或者单击 Navigate > Open Type)打开 Open Type 窗口。当此窗口出现后,键入名称,Eclipse 将显示可以找到的匹配类型列表。

图 9. 使用 Open Type

使用 Open Type

除了键入完整的类名之外,您还可以使用两个技巧来更快地查找结果。***个技巧是使用 *? 通配符来分别匹配任何或单个字符 。举例来说,要查找 AutomobileFormatter 类,可以键入 Auto* 或者 A*Formatter

图 10. 在 Open Type 中使用通配符

在 Open Type 中使用通配符

第二种技巧是使用类的缩写。缩写基于类型名称的大写字母。要查找 AutomobileFormatter,只需键入 AF。但是,这可能仍然无法充分缩小范围,因此可以键入 AuFo。从 Open Type 窗口中的列表中选择一种类型,然后单击 OK。Eclipse 将在 Java 编辑器中打开所选类型。

打开资源

有时,您希望打开的文件并不是 Java 注释,而是属性文件或 XML 文件。这时不应使用 Open Types,而应使用 Open Resources,方法是按下 Ctrl+Shift+R(或者单击 Navigate > Open Resource)。类似于 Open Type,您可以使用通配符或缩写来快速缩小列表中的资源范围。与 Open Type 相同,从列表中选择资源后单击 OK,Eclipse 将打开所选资源。

利用 “面包屑” 工具栏

虽然 Java 编辑器中的 “面包屑” 工具栏与 Package Explorer 的使用方法相类似,但 Java 编辑器的 “面包屑” 工具栏中显示的方法、类、包和其他项目资源更加易于导航。

要启用 “面包屑” 工具栏,单击如下所示的按钮。

图 11. Java 编辑器 “面包屑” 工具栏切换按钮

Java 编辑器 “ 面包屑” 工具栏切换按钮

启用后,“面包屑” 工具栏将如图 12 所示。当您从编辑器中选择不同的元素时,“面包屑” 工具栏中的项目将切换为显示当前所选元素以及它在项目中的层次结构。

图 12. Java 编辑器 “面包屑” 工具栏

Java 编辑器 “面包屑” 工具栏

您可以单击 “面包屑” 工具栏,并查看位于相同层次的其他元素。

图 13. 打开位于相同层次的元素

打开位于相同层次的元素

结束语

Eclipse 3.5 提供了一些特性,可以帮助您快速有效地导航大型代码库,而不需要 “深度探寻” 代码文件和目录。借助 Eclipse IDE 中的项目导航特性,您可以专注于代码的实现,而不为查找类和方法烦神。

【编辑推荐】

  1. 12个小技巧,让你高效使用Eclipse
  2. Eclipse 3.5中的五个有趣功能
  3. E4 Alpha版出炉:下一代Eclipse平台?
  4. Eclipse 3.5插件安装与卸载的10个小窍门
  5. Eclipse平台应用与开发专题
责任编辑:yangsai 来源: IBMDW
相关推荐

2009-08-25 14:25:19

Eclipse 3.5

2009-06-15 09:35:48

Eclipse 3.5

2009-06-16 14:27:00

Eclipse 3.5

2009-04-16 09:02:30

Eclipse开发平台版本发布

2009-06-25 08:58:08

Eclipse 3.5

2009-06-03 16:06:28

Eclipse插件开发Eclipse

2009-07-14 10:21:19

Eclipse 3.5

2009-07-01 17:11:32

标记导航Visual Stud

2019-01-04 16:11:50

2011-03-16 09:46:54

Eclipse代码模板

2023-12-29 08:06:40

开源软件导航前端

2009-12-10 14:04:09

.Net Framew

2009-08-13 18:00:48

Eclipse重构功能扩展点

2009-06-01 15:56:48

eclipse sdkeclipse

2009-06-01 15:32:30

EclipseJPA入门

2009-05-27 10:39:54

EclipseGalileo

2010-06-12 13:59:42

Eclipse 4.0CSS主题功能切换

2010-03-17 13:27:43

3.5GHz无线接入系

2009-09-17 09:51:18

Eclipse JDT自定义跳转

2023-09-26 12:28:49

IDEA导航
点赞
收藏

51CTO技术栈公众号