第13章 插件开发基础 《Eclipse从入门到精通》教学课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第13章 插件开发基础
经过前面的学习,相信对于Eclipse的使用已经十分熟 悉,应该也可以用Eclipse和SWT开发出一些独立运行的小 应用。但面对着强大、而且可以自由扩展的Eclipse,仅仅 用来作为一个开发工具来使用,有点浪费。
Eclipse的“野心”可不仅仅是希望作为一个开发工具 而已。Eclipse还可以被用来作为应用程序的基础平台。 Eclipse为大中型的应用程序提供了完善的组件管理机制, 提供了一个完整的界面框架。以这个平台作基础,不需要再 像前面的例子那样要自己开发一个界面框架、建立菜单、建 立工具栏…。利用Eclipse作为应用程序的基础,开发者不 需要在软件的界面上花太多的时间,只要集中精力开发插件 功能就可以了。
13.3 编写插件代码
PDE的向导把一个插件最基本的东西已经准备好了, 接下来就是编写每个插件都必须的Activator。Activator实 现Plugin接口。Plugin是每个插件都必须的“启动器”,每 个插件都至少要有一个实现Plugin接口的启动器。按照向导 所提供的规范,实现自Plugin接口的启动器都命令为 Activator。
13.3.1 编写Activator
Activator继承了抽象类AbstractUIPlugin。 AbstractUIPlugin继承了Plugin,Plugin实现的是 BundleActivator接口。
13.3.2 何时构造Activator?
编写Activator的时候,很自然会想到一个问题。 Activator到底什么时候构造?由谁来构造?按照IPlugin的 定义,Activator将会在插件第一次被调用之前被构造,然 后调用start()方法。这个构造过程由Eclipse平台来完成。 所以对于开发者来说,只要写好Activator就可以了,其他 就交由Eclipse去办了。
可视化的编辑工具: 对插件进行调试和测试的运行器。 插件项目的发布向导: RCP项目的发布向导:
13.2 新建插件项目
Eclipse插件的概念非常先进,也十分强大。但也不会 因为先进和强大而复杂。这种插件机制的宗旨就是简化开发 ,所以开发一个Eclipse插件其实是非常简单的事情。
13.2.1 开发插件项目的过程
第一步:新建插件项目:插件项目也叫PDE项目。开 发插件的第一步就是在Eclipse中建立PDE项目。插件项目 需要由PDE工具来建立。另外PDE工具也提供了把普通 Java项目转换为PDE项目的向导。
第二步:建立Activator: 第三步:编辑manifest 第四步:编辑plugin.xml 第五步:实现扩展点 第六步:扩展Preference 第七步:扩展透视图 第八步:扩展视图 第九步:扩展ActionSet
首先第一步:新建项目。在新建项目向导中,选择 Plug-in Project。
13.2.5 PDE透视图
向导完成后,会提示是否切换到“PDE透视图”。这里可 以根据个人习惯选择,因为PDE透视图和Java透视图差不多, 只是布局上有一些不同而已。
13.2.6 PDE项目的文件结构
PDE项目的文件结构和Java项目差不多。不同的是, 多了一个META-INF文件夹,以及MANIFEST.MF文件。还 有一个build.properties文件。
ቤተ መጻሕፍቲ ባይዱ
13.3.3 使用扩展点向导添加扩展
CO2的功能很简单,只要扩展Java编辑器中的快捷菜 单就可以了。
13.3.3 设置快捷菜单的扩展
向导完成后,可以看到扩展列表中显示了新增的一个扩 展。选择扩展列表中的节点,右边的编辑器动态显示和节点 相关的编辑器。通过编辑器可以对相关的属性进行修改。
Eclipse中的插件还需要了解三个概念,Plug-in、 Fragment、Feature。Plug-in这个大家已经知道了,就是 插件,不再复述。
Fragment: Feature:
13.1.4 PDE提供的开发工具
PDE的全称是Plug-in Development Environment(插 件开发环境)。PDE提供了一系列的工具,可以用于建立、 开发、测试、调试、发布和Eclipse的插件。
13.2.7 PDE可视化编辑器
PDE最常用的功能就是使用PDE可视化编辑器。回头 看一下图13-7,在PDE透视图中,占据着编辑器区域的就是 PDE编辑器。PDE编辑器下方的标签也清晰地展示它的功能 。
Overview: Dependencies: Runtime: Extentions: Extention Points: Build: MANIFEST.MF: build.properties: plugin.xml:
13.2.3 关于插件的唯一ID
每个插件都要有一个唯一ID,就好像是人的身份证号码 一样具有唯一性。不能和其他插件重复,ID不能随意变化, 变了就是另外一个插件。
现在Eclipse的插件成千上万,到底怎样命名ID,才能 避免与其他插件重复呢?习惯的做法就是用Java包的命名规 范。
13.2.4 新建插件项目向导
13.1.2 扩展点和插件
前两幅图中,有一个形象的比喻,插件和平台相连的连 线用了一个“插头”。正如现实中,各种插头是不能随便乱 插的,必须插在规格相符的插口上。同样,插件也要 “插” 在对应的“插口”上。在Eclipse中,这种“插口”叫“扩展 点Extention Point”。
13.1.3 Plug-in、Fragment和Feature
13.2.2 插件功能设计
下面这个插件的例子是一个小工具,把源代码转换成为 带有语法提示格式的HTML代码。这个插件没有UI界面,只 是扩展了Eclipse的快捷菜单。当用户选择某个文件,或者 Java编辑器上某段代码后,按鼠标右键,在快捷菜单中显示 一个菜单命令。选择这个菜单命令后弹出一个对话框,让用 户选择转换的格式和文件夹,最后执行转换输出。把这个项 目命名为com.smartdio.co2,这个项目的名称也是插件的 唯一ID。
经过前面的学习,相信对于Eclipse的使用已经十分熟 悉,应该也可以用Eclipse和SWT开发出一些独立运行的小 应用。但面对着强大、而且可以自由扩展的Eclipse,仅仅 用来作为一个开发工具来使用,有点浪费。
Eclipse的“野心”可不仅仅是希望作为一个开发工具 而已。Eclipse还可以被用来作为应用程序的基础平台。 Eclipse为大中型的应用程序提供了完善的组件管理机制, 提供了一个完整的界面框架。以这个平台作基础,不需要再 像前面的例子那样要自己开发一个界面框架、建立菜单、建 立工具栏…。利用Eclipse作为应用程序的基础,开发者不 需要在软件的界面上花太多的时间,只要集中精力开发插件 功能就可以了。
13.3 编写插件代码
PDE的向导把一个插件最基本的东西已经准备好了, 接下来就是编写每个插件都必须的Activator。Activator实 现Plugin接口。Plugin是每个插件都必须的“启动器”,每 个插件都至少要有一个实现Plugin接口的启动器。按照向导 所提供的规范,实现自Plugin接口的启动器都命令为 Activator。
13.3.1 编写Activator
Activator继承了抽象类AbstractUIPlugin。 AbstractUIPlugin继承了Plugin,Plugin实现的是 BundleActivator接口。
13.3.2 何时构造Activator?
编写Activator的时候,很自然会想到一个问题。 Activator到底什么时候构造?由谁来构造?按照IPlugin的 定义,Activator将会在插件第一次被调用之前被构造,然 后调用start()方法。这个构造过程由Eclipse平台来完成。 所以对于开发者来说,只要写好Activator就可以了,其他 就交由Eclipse去办了。
可视化的编辑工具: 对插件进行调试和测试的运行器。 插件项目的发布向导: RCP项目的发布向导:
13.2 新建插件项目
Eclipse插件的概念非常先进,也十分强大。但也不会 因为先进和强大而复杂。这种插件机制的宗旨就是简化开发 ,所以开发一个Eclipse插件其实是非常简单的事情。
13.2.1 开发插件项目的过程
第一步:新建插件项目:插件项目也叫PDE项目。开 发插件的第一步就是在Eclipse中建立PDE项目。插件项目 需要由PDE工具来建立。另外PDE工具也提供了把普通 Java项目转换为PDE项目的向导。
第二步:建立Activator: 第三步:编辑manifest 第四步:编辑plugin.xml 第五步:实现扩展点 第六步:扩展Preference 第七步:扩展透视图 第八步:扩展视图 第九步:扩展ActionSet
首先第一步:新建项目。在新建项目向导中,选择 Plug-in Project。
13.2.5 PDE透视图
向导完成后,会提示是否切换到“PDE透视图”。这里可 以根据个人习惯选择,因为PDE透视图和Java透视图差不多, 只是布局上有一些不同而已。
13.2.6 PDE项目的文件结构
PDE项目的文件结构和Java项目差不多。不同的是, 多了一个META-INF文件夹,以及MANIFEST.MF文件。还 有一个build.properties文件。
ቤተ መጻሕፍቲ ባይዱ
13.3.3 使用扩展点向导添加扩展
CO2的功能很简单,只要扩展Java编辑器中的快捷菜 单就可以了。
13.3.3 设置快捷菜单的扩展
向导完成后,可以看到扩展列表中显示了新增的一个扩 展。选择扩展列表中的节点,右边的编辑器动态显示和节点 相关的编辑器。通过编辑器可以对相关的属性进行修改。
Eclipse中的插件还需要了解三个概念,Plug-in、 Fragment、Feature。Plug-in这个大家已经知道了,就是 插件,不再复述。
Fragment: Feature:
13.1.4 PDE提供的开发工具
PDE的全称是Plug-in Development Environment(插 件开发环境)。PDE提供了一系列的工具,可以用于建立、 开发、测试、调试、发布和Eclipse的插件。
13.2.7 PDE可视化编辑器
PDE最常用的功能就是使用PDE可视化编辑器。回头 看一下图13-7,在PDE透视图中,占据着编辑器区域的就是 PDE编辑器。PDE编辑器下方的标签也清晰地展示它的功能 。
Overview: Dependencies: Runtime: Extentions: Extention Points: Build: MANIFEST.MF: build.properties: plugin.xml:
13.2.3 关于插件的唯一ID
每个插件都要有一个唯一ID,就好像是人的身份证号码 一样具有唯一性。不能和其他插件重复,ID不能随意变化, 变了就是另外一个插件。
现在Eclipse的插件成千上万,到底怎样命名ID,才能 避免与其他插件重复呢?习惯的做法就是用Java包的命名规 范。
13.2.4 新建插件项目向导
13.1.2 扩展点和插件
前两幅图中,有一个形象的比喻,插件和平台相连的连 线用了一个“插头”。正如现实中,各种插头是不能随便乱 插的,必须插在规格相符的插口上。同样,插件也要 “插” 在对应的“插口”上。在Eclipse中,这种“插口”叫“扩展 点Extention Point”。
13.1.3 Plug-in、Fragment和Feature
13.2.2 插件功能设计
下面这个插件的例子是一个小工具,把源代码转换成为 带有语法提示格式的HTML代码。这个插件没有UI界面,只 是扩展了Eclipse的快捷菜单。当用户选择某个文件,或者 Java编辑器上某段代码后,按鼠标右键,在快捷菜单中显示 一个菜单命令。选择这个菜单命令后弹出一个对话框,让用 户选择转换的格式和文件夹,最后执行转换输出。把这个项 目命名为com.smartdio.co2,这个项目的名称也是插件的 唯一ID。