3.6 通过示例进行学习

要理解如何通过编程来实现一个系统,最有效的方式之一是浏览示例。但我们无法对此充分详述,否则其所占篇幅过多以至于本末倒置。但是,有许多可以使用的快捷方式和机制能够帮助你学习代码。以下是一个工作空间导航操作的简短列表,也是我们平时常常会接触到的。

Navigate > Open Type… (Ctrl+Shift+T)——按照你输入的名称,打开对应的Java类型。支持通配符、区分大小写的首字母缩略词,以及驼峰命名法。使用此方法,可发现某个类型的位置或者其是否存在。

Navigate > Open Resource… (Ctrl+Shift+R)——按照你输入的名称,打开对应的资源。支持通配符、区分大小写的首字母缩略词,以及驼峰命名法。使用此方法,可发现资源和它们的位置。

Open Plug-in Artifact (Ctrl+Shift+A)——打开你输入的构件,这些构件用来定义插件或者bundle元素。例如,输入一个扩展的ID,定义扩展的plugin.xml会被打开。

Ctrl-3——展示出一个缩合的列表,其中包含命令、视图、首选项和其他工具。简单输入与你所需相关的文字,该列表就会被过滤。例如,输入targ会找到目标首选项页面。

Navigate > Quick Type Hierarchy (Ctrl+T)——对当前Java编辑器中选择的类型,展示出其类型层次结构。例如,如果选择了一个类型,一个标准的类型层次结构会被打开。如果选择了一个函数或选择在函数内,层次结构体系中所有该函数的实现都会显示出来。再次按Ctrl+T会反转该层次结构。

Search > References > Workspace Ctrl+Shift+G)——在Java编辑器中,搜索所选择的Java元素的引用(例如类型、函数、字段)。Ctrl+Shift+U可以实现同样的搜索,但只限于本文件。

Navigate > Open Declaration (F3)——在当前Java编辑器中,打开所选择Java元素对应的声明。

OSGi系统松耦合特质非常明显,这也是其最重要的特点!然而,这会导致我们很难理解不同部分是如何交互的。PDE提供了许多工具和机制,用于分析其如何相互连接。Plug-in Development透视图(Window > Open Perspective > Other… > Plug-in Development)包含了一个插件视图。从该视图中,你可以轻易地分析出相互的依赖和引用。在PDE插件编辑器中,你能发现扩展点之间的相互连接,分析出在多个扩展中定义的类,并浏览扩展点文档。

在Java搜索中添加类型

在插件视图中,选择所有插件,并使用右键菜单的Add to Java Search入口或者在enter image description here视图工具栏,向Java搜索范围中添加所有已知的插件。这是一个行之有效的方法,因为Java搜索范围只是工作空间里的工程和它们所依赖的工程。这意味着如果打开一个空的工作空间,并尝试打开一个类型,使用Ctrl+Shift+T,类型选择对话框将是空的。通过把目标平台的所有插件添加到搜索范围中,你可以更容易地分析出工程里没有引用的示例代码和类。

目录