(一) 创建一个新的Eclipse插件工程
请按照下列步骤为你的丰富的客户端应用程序创建一个新的Eclipse插件工程:
1. 在Eclipse中创建一个新的插件工程,并命名工程为EclipseTradeClient。把这个插件的应用目标定位在Eclipse 3.1版本,并且确保点选了"Create an OSGi bundle manifest"(见图1),并点击Next。
![]() 图1."New Plug-in Project"对话框在Eclipse中创建一个新的插件工程EclipseTradeClient。 |
2. 在"Plug-in Content"屏幕上,保持默认设置,但是确保选择了"Yes"-创建一个丰富的客户端应用程序(见图2),并点击Next。
![]() 图2.在"Plug-in Content"屏幕选择创建一个丰富的客户端应用程序。 |
·至于模板,选择"RCP application with a view",并点击Next。
·填写显示如图3的RCP应用程序属性,并点击Finish。之后,你将被提示转到"Plug-in Development"视图下,并点击Yes。
![]() 图3.RCP插件工程向导最后的结果屏幕 |
·现在,你已经创建了你的工程,再打开plugin.xml。你将看到如下图4所示的屏幕快照。
![]() 图4.Plugin.XML概要 |
如果你是Eclipse插件开发的新手,你可能经常需要使用底部的plugin.xml选项卡。正如你从Overview选项卡中所看到的,你可以运行/调试你的Eclipse丰富的客户端应用程序。
·展开EclipseTradeClient/src/eclipseTradeClient包来观察Eclipse的RCP向导为你创建的类。在Eclipse编辑器中,点击"All Extensions"选项卡并且展开每一个顶级的结点,如图5所示。
请注意一下你的Application类,Perspective类和View类的扩展入口。既然Eclipse的丰富的客户端平台包括plugin.xml文件,所以你可以简单地添加新的组件-通过"Extensions"选项卡中的"Add..."按钮来添加它们。
(二) 重构默认的View类
如你所见,Eclipse向导为你创建了一个称为View的类。并不是很有用,对吗?请使用如下步骤来重构默认的视图类:
1. 让我们重命名它-右击Package Explorer中的View.java。转到Refactor->Rename,输入新名为ExplorerView并且点击Preview。在随后弹出的面板上,你会看到Perspective类被重构-使用ExplorerView.ID来代替View.ID(见图6)。点击OK。
2. 遗憾的是,Eclipse的重构能力有点弱-特别与IntelliJ作比较的话。对于象这样的重构来说,IntelliJ将不仅按期望对类加以改变,而且它会把重构应用于你的.xml文件!这是非常有用的特征,特别是在一种Spring/Hibernate/XML配置操作比例极大的情况下。
你必须手工地更新对plugin.xml的重构。打开plugin.xml,并且点击plugin.xml选项卡。找到相应于View的扩展,并且作如下更新:
name="ExplorerView" class="eclipseTradeClient.ExplorerView" id="EclipseTradeClient.explorerView"> |
此后,进行保存(见图7)。
![]() 图7.进一步重构-手工更新Plugin.XML |
3. 对于这种简单的重构,情况就是这样,对吗?是的;但遗憾的是,你还没有结束。打开类ExplorerView,改变静态变量ID-把它初始化为EclipseTradeClient.explorerView。这相应于你刚才在plugin.xml中设置的ID。
4. 最后,你完成重构。现在,让我们测试一下是否一切改动正常。切换回编辑器中的plugin.xml,并且点击"Overview"选项卡。点击"Launch an Eclipse application",这应该导致如图8所示结果。
![]() 图8.启动Eclipse Trade Client程序 |
5. 现在让我们改变结点的名字。打开类ExplorerView。找到内部类ViewContentProvider,并且改变方法"Object getElements(Object parent)",让其返回一个字符串数组({"Watch List","Order History"})。