Eclipse4.x插件开发实践01-插件开发起步

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。虽然大多数用户将 Eclipse 用作 Java 集成开发环境(IDE),但Eclipse 还包括插件开发环境(Plug-inDevelopment Environment,PDE),这个组件主要针对希望扩展 Eclipse 的软件开发人员。

Eclipse的设计思想是:一切皆插件。Eclipse核心很小,其它所有功能都以插件的形式附加于Eclipse核心之上,对于给 Eclipse 提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。

假设您已具备Eclipse常规开发经验但并未涉及插件开发,现在或未来需要用到Eclipse插件开发技术,推荐您看看“Eclipse插件开发实践系列”。

作为插件开发实践的第一篇文字,本文将引导您完成:

  • 安装Eclipse插件开发环境
  • 使用向导创建第一个插件工程
  • 启动Eclipse实例调试插件工程

1.开发环境准备

1.1.背景资料

开发Eclipse插件的第一步是配置插件开发环境,Eclipse基金会于2014年6月25日发布了Eclipse4.4版(版本代号Luna),本文将基于该版本进行后续的操作演示。

小贴士:从2006年起,Eclipse基金会每年都会安排同步发布(simultaneous release)。至今,同步发布主要在6月进行,并且会在接下来的9月及次年2月释放出SR1及SR2版本。

我们可以从Eclipse官方网站(http://www.eclipse.org/downloads/)上获得不同版本的Eclipse,“Eclipse Standard”和“Eclipse IDE for Java EE Developers”均预置了PDE开发环境。若我们下载安装的Eclipse版本不含PDE环境(例:Eclipse IDE for Java Developers),也可以通过其功能更新站点手动安装(HelpInstall New Software…)。

由于Eclipse是一个标准的Java程序,但它本身并不包含其运行所必需的Java运行环境(Java Runtime Environment,JRE),所以我们首先要安装JRE。

注意:后续实战演练所用机器环境为64位Windows7。

1.2.实战演练

  1. 打开jdk7下载主站(https://jdk7.java.net/download.html)下载相应安装包,注意选择与本机操作系统和CPU型号对应的版本。
  2. 安装jdk7并配置系统环境变量,新增JAVA_HOME变量指向jdk安装目录,新增ClassPath变量设置值为“.;%JAVA_HOME%\lib;”,修改Path变量添加“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”,本例对应的配置如下:
    JAVA_HOME:	C:\Program Files\Java\jdk1.7.0_60
    Path:	%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
    ClassPath:	.;%JAVA_HOME%\lib;
  3. 启动命令提示符窗口,输入“java -version”命令,若正常显示当前版本号信息,请继续;否则请重新检查执行前两步。
    Eclipse4.x插件开发实践01-插件开发起步_第1张图片
  4. 打开Eclipse下载主站(http://www.eclipse.org/downloads/)下载JavaEE版应用分发包(Eclipse IDE for Java EE Developers)。
    Eclipse4.x插件开发实践01-插件开发起步_第2张图片
  5. 将下载获得的JavaEE版Eclipse4.4压缩包解压到本机任意目录,双击eclipse文件夹下的eclipse.exe文件启动主界面(Linux对应于eclipse,苹果机对应于Eclipse.app),启动画面如下图所示。
    Eclipse4.x插件开发实践01-插件开发起步_第3张图片
  6. 根据提示为当前会话制定一个文件夹用作工作区(workspace),在Eclipse主界面打开新功能安装主界面(Help-->Install New Software...)。
    Eclipse4.x插件开发实践01-插件开发起步_第4张图片
  7. 在更新站点清单对应的下拉列表中中选择The Eclipse Project Updates(http://download.eclipse.org/eclipse/updates/4.4),Eclipse开发环境将自动加载功能清单。
    Eclipse4.x插件开发实践01-插件开发起步_第5张图片
  8. 等待功能清单加载完毕后,在功能过滤条件输入框中填写“resource”,过滤后的功能清单包括CVS Client、JDT、PDE、RCP相关的源码包。
    Eclipse4.x插件开发实践01-插件开发起步_第6张图片
  9. 在功能清单中选中全部过滤结果,点击Next按钮安装相关功能,最后根据提示重启Eclipse。

1.3.演练小结

本文选择了“Eclipse IDE for Java EE Developers”版应用分发包,它包含了Java IDE、Java EE工具、JPA、JSF、 Mylyn、EGit等等一些列功能,可用于创建 Java EE和web应用程序。

在JavaEE版标准功能之外,又安装了Eclipse开发环境相关的部分源码包(CVS Client、JDT、PDE、RCP),这些源码将是我们后续开发工作中最为重要的学习参考资料(使用方法下文介绍)。

小贴士:若需安装Luna的其他标准插件,请在新功能安装主界面中选择Luna更新站点(Luna - http://download.eclipse.org/releases/luna),选择相应功能项安装即可,此处不再累述。

1.4.离线安装

上述演练过程采用了“在线安装”的方式添加Eclipse开发环境源码包,也可以采用“离线包”方式,操作步骤如下:

  1. 打开Eclipse下载汇总页(http://download.eclipse.org/eclipse/downloads/),在“Latest Release”组下找到Eclipse4.4,点击进入Eclipse 4.4.0分项功能下载页。
    Eclipse4.x插件开发实践01-插件开发起步_第7张图片
  2. 在Eclipse 4.4.0分项功能下载页的“RCP SDK”分组下找到“RCP Source Repo”,下载到本机(后面的http才是下载链接)。

  3. 采用同样的方式在“JDT SDK”分组下载“JDT Source Repo”,在“PDE SDK”分组下载“PDE Source Repo”,在“CVS Client SDK”分组下载“CVS Source Repo”。
  4. 在Eclipse中打开新功能安装主界面(Help-->Install New Software...),将上一步下载的Repo压缩包(例:org.eclipse.rcp.source-4.4.zip)添加为功能更新站点。
    Eclipse4.x插件开发实践01-插件开发起步_第8张图片
  5. 在功能清单中选择全部功能项(注意撤销勾选“Group items by category”,否则在功能清单中将看不到功能项),点击Next按钮安装相关功能(忽略Eclipse重启提示,最后统一重启即可)。
    Eclipse4.x插件开发实践01-插件开发起步_第9张图片
  6. 重复第4、5步骤,完成“JDT Source Repo”、“PDE Source Repo”,、“CVS Source Repo”的安装,最后重启Eclipse。

2.插件工程创建

2.1.背景资料

插件开发(Plug-in development)分组下的插件工程(Plug-in Project)用于创建Eclipse插件,我们将使用Eclipse的新建工程向导(New Project)来创建第一个插件工程。除了创建新插件工程外,该向导还具有典型示例代码生成功能,我们可以通过一些不同的选项创建诸如视图、编辑器、操作等插件开发相关的示例代码。

2.2.实战演练

  1. 从File菜单选择NewProject可以启动新建工程向导(New Project),在第一个页面的工程项目类型列表中选择“Plug-in Project”,然后点击Next按钮。
    Eclipse4.x插件开发实践01-插件开发起步_第10张图片
  2. 在第二个页面上指定Project name值为“com.archopt.rcp.hello”,其他设置不变,然后点击Next按钮;在第三个页面上配置创建Eclipse插件所必需的各项数据,最后点击Next按钮。
    Eclipse4.x插件开发实践01-插件开发起步_第11张图片
  3. 第四个页面是典型示例模板(Template)选择页,选择“Hello,World”模板,点击Next按钮。
    Eclipse4.x插件开发实践01-插件开发起步_第12张图片
  4. 第五个页面是“Hello,World”模板定制页,保持默认值不变直接点击Finish按钮,第一个插件工程“com.archopt.rcp.hello”将会被创建。

2.3.演练小结

创建插件工程是Eclipse插件开发的第一步,上述演练中我们利用插件工程创建向导(New Plug-in Project Wizard)基于“Hello,World”模板创建了第一个插件工程,演练工程的目录结构如下图所示:
Eclipse4.x插件开发实践01-插件开发起步_第13张图片

工程项目中包含一系列自动创建的文件,其中META-INF/MANIFEST.MF和plugin.xml是插件工程中最为关键的两个文件,前者是插件功能配置清单(与OSGI对应,定义了插件的依赖项、版本、名称等关键信息),后者是插件扩展项清单,它们定义了当前插件与系统其他部分之间的关系。此外,build.properties也较为关键,它主要用于声明嵌入到插件工程中的各类资源文件(例如:图片),供PDE在开发时和构建时使用。

插件工程成功创建后,META-INF/MANIFEST.MF文件会被清单文件编辑器(Plug-in Manifest Editor)自动打开,可以切换该编辑器底部的选项卡查看工程概览(Overview)、依赖项(Dependencies)、运行时(Runtime)、扩展项(Extensions)、扩展点(Extension Points)、构建选项(Build)、插件清单源码(MANIFEST.MF)、扩展项源码(plugin.xml)、构建选项源码(build.properties)等内容,清单文件编辑器关闭后可通过双击META-INF/MANIFEST.MF文件再次打开。

3.插件工程调试

3.1.背景资料

为了查看插件工程项目的运行效果,我们需要启动一个新的Eclipse实例用于加载相应插件。前文用于演示的com.archopt.rcp.hello工程极为简单,但实际开发过程中我们往往以迭代的方式不断扩充其功能,难免会出现一些运行期错误(开发期的错误Eclipse会用红叉叉帮我们标记出来),所以调试技能(Debug)是必需的。

本节将演示插件工程的运行和断点捕获。

3.2.实战演练

  1. 选中com.archopt.rcp.hello工程项目,通过工具栏的Debug按钮或者Run菜单下的Debug菜单项,或者F11快捷键打开调试对话框。
    Eclipse4.x插件开发实践01-插件开发起步_第14张图片
  2. 在调试对话框中选择“Eclipse Application”作为调试方式,点击OK按钮,将启动新的Eclipse实例(称之为调试实例,开发环境对应于开发实例)。
  3. 在Eclipse调试实例中关闭欢迎窗口(Welcome),在主界面的工具栏多了一个按钮,菜单栏多了一个名为“Sample Menu”的菜单,其下包含一个名为“Sample Action”的菜单项。
    Eclipse4.x插件开发实践01-插件开发起步_第15张图片
  4. 点击上一步的工具栏按钮或“Sample Action”菜单项,Eclipse调试实例将弹出一个对话框,点击OK按钮对话框关闭。
    Eclipse4.x插件开发实践01-插件开发起步_第16张图片
  5. 切换到Eclipse开发实例,打开com.archopt.rcp.hello工程的com.archopt.rcp.hello.actions.SampleAction.java文件,找到run方法。
    Eclipse4.x插件开发实践01-插件开发起步_第17张图片
  6. 调整run方法的函数体内容(代码清单附后)并保存。
    	public void run(IAction action) {
    		String title="com.archopt.rcp.hello";
    		String msg="Hello, Eclipse Plug-in world";
    		System.out.println("弹出Hello world 对话框");
    		MessageDialog.openInformation(window.getShell(),title,msg);
    	}
    

  7. 在“System.out.println”行添加断点。
    Eclipse4.x插件开发实践01-插件开发起步_第18张图片
  8. 切换到Eclipse调试实例,重复第4步操作,此时Eclipse开发实例将自动捕获调试断点,并弹出透视图切换确认对话框(Perspective Switch)。
  9. 点击Yes按钮,Eclipse开发实例切换到Debug透视图,随后自动定位到断点所处行。
    Eclipse4.x插件开发实践01-插件开发起步_第19张图片
  10. 点击继续执行按钮(resume)越过当前断点,Eclipse开发实例的控制台(Console)将输出“弹出Hello world 对话框”;Eclipse调试实例弹出对话框。
  11. 关闭Eclipse调试实例,返回到Eclipse开发实例的主界面,演练结束。
注意:演练过程第10步涉及的调试操作与常规Java开发完全一致,此处不再累述。

3.3.演练小结

在本节的演练过程中,Eclipse开发实例按照默认配置自动创建了一份启动配置(Configuration),该配置将自动加载“Eclipse开发实例中已安装的插件”和“Eclipse开发实例对应工作区(Workspace)中处于打开状态(Open)的插件工程”。我们可以通过Run菜单下的“Debug Configurations…”菜单项打开启动配置管理对话框(如下图所示),Eclipse Application组下名为“Eclipse Application”的项即为当前演练自动创建的启动配置。
Eclipse4.x插件开发实践01-插件开发起步_第20张图片

4.插件探测器

4.1.背景资料

Eclipse插件开发的必备工具之一是插件探测器(Plug-in Spy),它主要用于探测当前Eclipse界面的构成元素,通过快捷键Alt + Shift + F1可以调出其主界面,配合插件源码包使用可以大大提升我们的学习和工作效率。

4.2.实战演练

  1. 启动Eclipse,切换到插件开发透视图(Plug-in Development Perspective),选中包浏览器(Package Explorer)。
  2. 按下Shift+Alt+F1键,将弹出一个名为“Plug-in Selection Spy”的浮动窗,我们可以看到当前激活的视图(Active View)为PackageExplorerPart。
    Eclipse4.x插件开发实践01-插件开发起步_第21张图片
  3. 点击PackageExplorerPart链接,可以查看PackageExplorerPart类的源代码。
    Eclipse4.x插件开发实践01-插件开发起步_第22张图片

4.3.演练小结

上述演练我们选中了包浏览器,所以插件探测器(Plug-in Spy)显示的当前激活的视图为PackageExplorerPart,可以选择其他窗口按下Shift+Alt+F1键查看效果。

“开发环境准备”环节我们特意安装了一些源码包,因为其中包括JDT相关源码包(Eclipse JDT Plug-in Developer Resources),所以在演练的第3步才可以看到PackageExplorerPart类的源代码。

插件探测器(Plug-in Spy)还可以通过快捷键Shift+Alt+F2使用。在Eclipse界面中按下Shift+Alt+F1键,鼠标光标将发生改变,此时再点击工具栏按钮或菜单项,同样可以调出插件探测器主界面。

5.结束语

5.1.课程总结

通过本篇内容的学习,我们掌握了Eclipse4.4插件开发环境的搭建技能,接着在搭建好的开发环境中完成了第一个插件工程的创建,最后学习了插件探测器(Plug-in Spy)的使用方法。

5.2.延伸阅读

Eclipse自带的《Plug-in Development Environment Guide》是非常好的插件开发学习资料,可以通过Help菜单下的“Help Contents”菜单项查看。


pdf全文下载(百度文库):http://wenku.baidu.com/view/c934f5e5f121dd36a32d826f.html

本文采用Creative Commons知识共享(CC BY-NC-SA 3.0 CN)许可协议授权
文章作者:丛兴滋 【[email protected]
撰写时间:2014年7月【2014年8月16日最后更新】
文档网址:https://code.csdn.net/markcxz/eclipse4_plugin_dev

你可能感兴趣的:(java,eclipse,插件,plugin,rcp)