2、RCP入门
(1)实现RCP 应用程序的步骤
l 标识扩展点
l 定义plugin清单文件
l 实现扩展
l 定义透视图
l 定义WorkbenchAdvisor类
l 定义Application类
l 导出应用程序
(2)创建项目
l File > New > Plug-in Project
l 输入项目名Google,保留其它默认值,点击Next
l 在 Class Name 域中键入com.xqtu.google.GooglePlugin
l 点击Finish完成项目创建
(3)理解插件清单
l Eclipse生成项目时,会生成很多有关文件,其中最重要的是插件清单文件plugin.xml
l plugin.xml位于项目的根目录,负责定义Eclipse运行环境用来管理的资源、依存关系和扩展
l Eclipse提供插件清单编辑器,其底部的每个标签页提供了访问和操作plugin.xml特定部分的简便方法
l 其中plugin.xml页显示plugin.xml的源文件,向导最初生成的插件清单的内容如下
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="Google"
name="Google Plug-in"
version="1.0.0"
provider-name="nelson_tu"
class="com.xqtu.google.GooglePlugin">
<runtime>
<library name="Google.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
</requires>
</plugin>
l <plugin> 标记描述插件的基本内容,有下列 5 个属性:
l id :插件惟一标识符;为了减少命名冲突,应该从插件作者的 Internet 域名得出该属性,其命名约定和 Java 命名约定是一致的,如类的package
l name:插件一般名称
l version —— 插件版本,格式是major.minor.service
l provider-name:插件作者
l class ——插件类全路径;尽管定义了插件类,但 RCP 应用程序在执行时并不使用该类
l <plugin>部分可以在Overview页的Genernal Information部分进行设置
l <runtime>标记定义了插件需要的运行库;使用 <library> 标记列出每个运行库;<export>标记指定是导出整个库(使用*),还是其下具体的package(用多个<export>标记列出)
l <runtime>部分可以在Runtime页中进行设置
l <requires>标记定义对其它插件的依存关系;使用<import>标记列出每个插件
l <requires>部分可以在Dependencies页中进行设置
(4)理解扩展
l Eclipse 平台使用相对较小的运行环境内核和它精致的插件体系结构提供高度可扩展性
l 通过使用插件将新的功能添加到运行环境内核
l 每个插件都可以包含任何数目使用扩展点集成的扩展
l 同样,插件也可以定义自己的一组扩展点,以便其他开发人员可以在自己的插件或 RCP 应用程序中使用
l 在本例中,我们要定义两个扩展
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin
id="Google"
name="Google Plug-in"
version="1.0.0"
provider-name="nelson_tu"
class="com.xqtu.google.GooglePlugin">
<runtime>
<library name="Google.jar">
<export name="*"/>
</library>
</runtime>
<requires>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
</requires>
<extension
id="GoogleApplication"
point="org.eclipse.core.runtime.applications">
<application>
<run class="com.xqtu.google.GoogleApplication"/>
</application>
</extension>
<extension
point="org.eclipse.ui.perspectives">
<perspective
class="com.xqtu.google.GooglePerspective"
name="Google"
id="com.xqtu.google.GooglePerspective"/>
</extension>
</plugin>
l 通过org.eclipse.core.runtime.applications定义第一个扩展,这为 RCP 应用程序声明入口点;id属性标识该应用程序
l <run>标记指定RCP 应用程序启动类的全路径
l 通过org.eclipse.ui.perspectives定义第二个扩展,这为 RCP定义一个添加到通用工作台的透视图
l <perspective>标记定义了透视图类全路径(class属性)、透视图名称(name属性)和唯一标识(id属性)
l <extension>部分可以在Extensions页中进行设置