创建简单的插件
为了对使用PDE开发插件有个更好的理解,你可以开发一个简单的工作台视图。它的功能是列出运行时工作台中所有的可用视图(你可以称它为超级视图)。当你这样做的时候,你可以使用这个身边的例子,检查插件Manifest编辑器的各个部分。首先,启动你的Eclipse SDK,选择一个空工作区。当你关掉欢迎页面时,你应该缺省进入Java开发模式。第一步,使用新建插件向导来创建插件。然后,使用插件Manifest编辑器编辑其描述符,并且使用JDT来实现一个Java类。最后,在一个运行时工作台启动插件来看效果。好,开始:
1. 在main menu中,点击File->New->Project,然后选择Plug-in Project并且点击Next;
2. 在下一个向导页中,输入com.developer.superview作为工程名。点击Next;
3. 在此页中,保持所有的域为缺省值,点击Finish。当被问到是否转换到插件开发模式时,选择yes。这时,插件已经被创建了,并且你可以在插件Manifest编辑器中看到总览。
总览页面包含了一些一般属性,如插件的ID,版本,名称,提供者,插件类和平台过滤器。它还提供了到其他页面的链接,这些页面指定了插件内容,编译配置,和测试运行的链接以及导出插件(所有的和简单描述)。ID是必须的且必须为独一无二的。版本一般为3到4个部分组成,使用点号隔开的版本标识符(major.minor.service{.qualifier})。插件版本在你的平台插件开发向导中有详细记述。在这个练习里,你可以指定为缺省的1.0.0。姓名和提供者是科学院的,至是被用来在产品配置里显示的标记。类属性也是可选的,目前它可以被用来代表一个单独的运行时插件实例,可以用来作为一个单独的对多个插件特定数据的访问点。在这个例子里,向导闯将了一个缺省的类实现,你可以在例子的任何代码里提到它。平台过滤器可以用来限制插件的平台可用性(这个例子里没有用到)。

依赖页面允许你指定其他一些你所依赖的插件,无论是编译的还是运行时的。增加一个插件依赖意味着被选择插件的所有Java包的导出,包含任何的扩展点,对你自己的代码都是可用的。你可以选择在你的SDK安装时增加任何可用插件,包括你的工作台(也就是说,其他你当前正在使用的插件)。
在我们这里例子里,你将把org.eclipse.core.runtime和org.eclipse.ui作为你的依赖。任何依赖都是可选的(确认你的代码需要它),你可以选择重新导入一个依赖(选择列表中的一个插件,并且点击属性…)。你可以请求某个Java包对你的类启动器可用,无论它是从何而来。这是一个高级开发主题在你的平台文档中有详细叙述。这个页面里,你可以做一些各种类型的依赖关系的分析,可以给你一个更加好的插件依赖的认识。 运行时页面允许你指定想导出的Java包(也就是说,在你的插件列表中使你的插件可见)。在这个列表中,你无须导出任何东西,因为你不提供任何的功能作为公共API可用。如果你要这么作,拿你必须使得它们针对其衍生的插件可用(这是更加高级的开发主题了)。Classpath节是用来指定哪个类文件夹或者JAR文件应该作为你的运行时classpath,如果有多个的话(缺省只有你的插件的根目录是被包含在它的classpath里)。
扩展页面是你指定你所有的插件扩展的地方。它包含了一个通过你插件实现的扩展的树(你可以从列在你的依赖的插件中选择公布的扩展点),和一个详细的包含反映你的当前树选择的域的表单。要创建新的扩展元素,右键点击树中的元素,选择New子菜单。对元素的选择以及每个元素的属性集合,依赖于关联的扩展点。你可以通过右键点击树中的扩展的方式来获得你的扩展点文档,然后选择Show Description。事实上,为了继续我们的例子,我们将为超级视图实现增加一个新的扩展:
4. 点击Add。在New Extension对话框中,选择扩展点org.eclipse.ui.views。点击Finish。
5. 右键点击列表中的扩展;选择New->category。输入Developer.com作为名称。
6. 右键点击扩展,选择New->view,输入SuperView作为名称,com.developer.superview.category1作为分类(和在上一不中创建的类型ID匹配)。
7. 点击class链接。输入Superview作为类名,点击Finish。这将会创建一个新的实现所需接口的类,并且在Java编辑器中打开它。
你可以马上回到视图的开发中来。现在,激活插件Manifest编辑器,点击扩展点的Tab。如果可用,将会列出所有你的插件公布的扩展点。每个扩展点的细节都是可以使用扩展点方案编辑器来编辑的(这里不再详细叙述了)。
生成页面允许你对插件的生成配置进行指定(或者选择自定义生成来生成一个完整的自定义的生成过程,这个你需要自己实现)。这些信息将会被增量生成器(你的工程的生成路径也会相应的更新,这也是你不能直接更改而让PDE来为你做的原因)和一个Ant生成脚本所使用,你只能选择两者中的一个。在这个联系里,你无须特别的生成要求。若你要这样作,比如为你的视图使用一个自定制的图标,你必须保证它的目录是在二进制生成段中被检查过的,以使得它对你的代码在运行时可用。
MANIFEST.MF,plugin.xml,和build.properties允许你编辑相应文件的源代码。这个只对高级熟练的Eclipse开发者推荐使用。
现在你对插件Manifest编辑器比较熟悉了,我们可以继续我们的例子:
