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-单击
Galileo 提供了一种新特性,即查看由 @see
或 @link
定义的元素的文档。Javadoc 预览和 Javadoc 视图将元素显示为超级链接。如果您单击超级链接,则会显示相关元素的 Javadoc。如果只需要阅读元素的 Javadoc,那么您可以避免在新的 Java 编辑器视图中打开文件。
图 5. Javadoc 视图中用于快速浏览的超级链接
查看 Quick Outline
在较大的包含许多方法的类文件中,按 Ctrl+O 可以打开 Quick Outline,以便于快速查找方法或字段。按下 Ctrl+O 之后,键入需要查找的方法的名称。在键入过程中,列表会自动筛选,仅显示匹配的元素。
图 6. 使用 Quick Outline
从列表中选择元素时,Eclipse 会在当前 Java 编辑器中导航到该元素。
#p#
查看 Quick Type Hierarchy
如果在 Java 编辑器中打开了某个类文件,并且希望在类型层次结构中打开 Java 类型,可以按下 Ctrl+T(或单击 Navigate > Quick Type Hierarchy)来显示类型层次结构。
图 7. 使用 Quick Type Hierarchy
层次结构将显示所选元素的子类型。举例来说,如果您在调用 Quick Type Hierarchy 时选择了某个接口,则列表将显示已知的所有实现了该接口的类。
再次按下 Ctrl+T,Quick Type Hierarchy 将在列表中显示超类型(参见图 8)。现在,列表将包含所选元素实现的任何接口以及它扩展的所有类。
图 8. 使用 Quick Type Hierarchy 查找超级类型
从 Quick Type Hierarchy 的列表中选择一个类型,Eclipse 将在一个新的 Java 编辑器中打开所选类型。
打开类型
如果知道希望在编辑器中打开的 Java 类的名称,则找到并打开它的最简单的方法是按下 Ctrl+Shift+T(或者单击 Navigate > Open Type)打开 Open Type 窗口。当此窗口出现后,键入名称,Eclipse 将显示可以找到的匹配类型列表。
图 9. 使用 Open Type
除了键入完整的类名之外,您还可以使用两个技巧来更快地查找结果。***个技巧是使用 *
和 ?
通配符来分别匹配任何或单个字符 。举例来说,要查找 AutomobileFormatter
类,可以键入 Auto*
或者 A*Formatter
。
图 10. 在 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 编辑器 “面包屑” 工具栏切换按钮
启用后,“面包屑” 工具栏将如图 12 所示。当您从编辑器中选择不同的元素时,“面包屑” 工具栏中的项目将切换为显示当前所选元素以及它在项目中的层次结构。
图 12. Java 编辑器 “面包屑” 工具栏
您可以单击 “面包屑” 工具栏,并查看位于相同层次的其他元素。
图 13. 打开位于相同层次的元素
结束语
Eclipse 3.5 提供了一些特性,可以帮助您快速有效地导航大型代码库,而不需要 “深度探寻” 代码文件和目录。借助 Eclipse IDE 中的项目导航特性,您可以专注于代码的实现,而不为查找类和方法烦神。
【编辑推荐】