Eclipse插件开拓快速入门
当前位置:以往代写 > JAVA 教程 >Eclipse插件开拓快速入门
2019-06-14

Eclipse插件开拓快速入门

Eclipse插件开拓快速入门

副标题#e#

适才我在修理本身的汽车,我需要拧下一个螺丝。于是我打开本身的扳手东西包,试图找到符合的扳手。可是那些扳手的型号都差池,因为谁人螺丝都属于公制尺度的。我只能利用与抱负尺寸最临近的扳手。这是一个欠好的想法;功效我把谁人螺丝弄裂了,只好去买一个专用的东西来下掉它。这个故事的精华是:实现特定的事务永远需要利用得当的东西。

Eclipse是一个很是风行的Java集成开拓情况(IDE),它是NetBeans/SunOne Studio、Jbuilder、和IntelliJ IDEA的强有力的竞争者。Java措施员群体正在迅速地迁移到Eclipse上,因为它是免费的、开放源代码的、质量很好,并且很是容易定制。

本文的内容是如安在Eclipse中编写插件(plugin)。本文的方针读者是哪些人呢?许多Eclipse用户简朴地利用IDE而不需要举办定制;许多人会利用他人成立的插件,这些人不是本文的方针读者。有些用户但愿定制Eclipse;有些人将为他们公司的雇员开拓东西;有些人但愿销售与本身的产物相关的东西;尚有一些人但愿利用其它名称转售预安装了某些东西的Eclipse。这些人构成了本文的方针受众。开始编写Eclipse插件的前提条件是相识如何利用Eclipse和编写Java措施,而且对尺度Widget东西包(SWT)有很好的领略。

安装Eclipse

假如你已经利用了Eclipse 3,那么可以跳过这一段落。假如没有安装该软件,你首先需要下载和安装它。你可以简朴地从Eclipse下载页面下载最新的不变版本,接着把下载的文件解压到一个文件夹中(譬喻c:\dev)。在写作本文的时候,这个文件是eclipse-SDK-3.0.1-win32.zip(85MB)。这个进程会成立c:\dev\eclipse文件夹。

请留意,在这个文件夹下已经有一个叫做plugins的文件夹了。你可以快速欣赏一下,会发明许多的已经安装好的插件。这是怎么回事呢?因为Eclipse的焦点相对较小,险些每个部门都是一个插件。

架构

Eclipse由一个很小的焦点和焦点之上的大量插件构成。有些插件仅仅是供其它插件利用的库。个中存在许多你可以操作的东西。所有插件利用的基本库是:

· 尺度Widget东西包(SWT):Eclipse中随处利用的图形化组件:按钮,图像、光标、标签等等。机关打点类。凡是这个库被用于取代Swing。

· JFace:菜单、东西条、对话框、参数选择、字体、图像、文本文件的类和领导基类。

· 插件开拓情况(PDE):帮助数据操纵、扩展、成立进程和领导的类。

· Java开拓者东西包(JDT):用于编程操纵Java代码的类。

上面的每一个类都有本身专有的成果,个中一些还可以单独利用(尽量它们内涵地依赖于其它类)。譬喻,SWT不只仅只用于插件;它还可以被用于成立非Eclipse的、独立的应用措施。尚有一些其它的库没有被罗列出来。

图1显示了Eclipse差异条理之间的干系。

Eclipse插件开辟快速入门

图1:分层的类库

安装GEF和Draw2D运行时

在默认环境下,这两个面向工具的库(图形化编辑器框架组件GEF和Draw2D)是没有被安装的。在本文中我们需要操作它们,因此首先需要安装它们。你可以在GEF主页面下载GEF和Draw2D,下载3.0.1或今后版本,把文件生存为GEF-SDK-3.0.1.zip(5.5MB)。把这个文件解压到Eclipse文件夹下(这是包括plugins子文件夹的文件夹)。这两个库自身也是作为插件加进来的。

这些库提供了什么样的成果?它们组成了成立图形化插件的基本。图形化插件凡是显示一些工具(譬喻方框和标签,用线和箭头链接在一起)。这些工具和毗连器的绘制都是由Draw2D来处理惩罚的。可是绘制进程仅仅是图形化编辑器实现的一半成果。另一半–编辑器呼吁、东西条、拖放成果、打印–由GEF来完成。

设置PDE选项

安装上述的各类部件之后,下一步就是定制或至少是熟悉插件设置选项。这些选项在菜单窗体 -> 选项的"插件开拓"种别下选择。欣赏一下插件用到的数以十计的设置选项。你可以特地看一下Target Environment(方针情况)种别。它答允我们选择默认的操纵系统、视窗(windowing)系统、CPU架构和语言。

我们感乐趣的尚有Plug-in Development(插件开拓)透视图(透视图是一组视图参数选择,包罗面板、视图、东西条等等,按照差异的事务产生改变,可以把它看出Eclipse中的"模式")。通过选择菜单中的窗口-> 打开透视图 -> 其它,然后在列表中选择"插件开拓"就可以看到它了。它与Java透视图相似,可是拥有一个插件视图,可以显示所有检测到的插件。图2显示了如何激活这个透视图,并显示了该透视图。

Eclipse插件开辟快速入门

图2:插件开拓透视图

成立一个简朴插件

#p#分页标题#e#

成立插件最简朴的步伐是利用文件-> 新建->插件项目领导所提供的模板。接着输入一个项目名称(譬喻"Invokatron")。这是什么意思呢?我们将成立的插件是Invokatron,它是一个供Java代码利用的代码生成图形化编辑器。本文删除了Invokatron的路径,可是很明明这个宏愿勃勃的项目直到下次安装时才会完成。

在"下一步"页面上,除了类名之外其它的选项都稳定,类名输入invokatron.InvokatronPlugin。在"插件内容"页面上,输入你认为适合的任何信息。在"模板"页面上,选中查抄框以激活模板。我们可以在多个模板中举办选择:

· Hello, World

· 简朴的XML编辑器

· 多页面编辑器和领导

· 透视图扩展

· 弹出菜单

· 属性页面

· 视图

· 拥有前面的一个或多个数据项的自界说插件

对付本文的示例,我们利用自界说插件模板。选择"多页面编辑器"-"新建文件领导"-"属性"页面。在"下一步"页面输入下面一些值:

"多页面编辑器"页面(图3所示):

· Java措施包名称:invokatron.editor

· 编辑器类名称:InvokatronEditor

· 编辑器帮助类名称:InvokatronEditorContributor

· 编辑器名称:Invokatron Editor

· 文件扩展名:invokatron

Eclipse插件开辟快速入门

图3:"多页面编辑器"配置

"新建领导"页面(图4所示):

· Java措施包名称:invokatron.wizard

· 领导种别ID:Invokatron

· 领导种别名称:Invokatron Wizard

· 领导类名称: InvokatronWizard

· 领导页面类名称:InvokatronWizardPage

· 领导名称:Invokatron Wizard

· 文件扩展名: invokatron

· 初始文件名: MyClass.invokatron

Eclipse插件开辟快速入门

图4:"新建领导"配置


#p#副标题#e#

"属性"页面(图5所示):

· Java措施包名称:invokatron.properties

· 属性页面类: InvokatronPropertyPage

· 属性页面名称:Invokatron Properties

· 方针类:org.eclipse.core.resources.IFile

· 文件名过滤器:*.*

Eclipse插件开辟快速入门

图5:"属性"页面配置

这个时候Eclipse生成了大量的文件:

· plugin.xml:描写该插件的主文件。它包括了帮助代码生成、库、插件依赖干系和扩展指向的一些信息。

· build.properties:用于描写成立(build)进程的文件。它主要用于指定需要的库。

· invokatron/*.java:插件类。

· sample.gif:菜单项显示的图标。

plugin.xml文件和build.properties一起被显示在多页面编辑器中。第一个页面("预览")答允你在测试情况中导出和运行该插件。"导出"的意思是通过生成一些代码、接着编译和打包来完善该插件。

查察一下类,你会发明它实际上没有做什么操纵。添加菜单选项的代码在哪儿呢?框架组件从plugin.xml文件包括的信息中简朴地生成了须要的代码。你可以查察一下这个文件。它的最后一部门包括了一个扩展列表,这是这些类可以插入Eclipse的处所。

上面进程中发生的项目是示例代码的一部门,你可以下载。

运行和调试

你可以在一个非凡的沙盒(sandbox)–运行时事情台(runtime workbench)中测试本身的插件。利用这种方法的时候,纵然运行时事情台瓦解了,Eclipse仍然可以或许事情。通过点击"预览"页面上的"载入运行时事情台"或"在调试模式中载入运行时事情台"链接。第一次运行运行时事情台的时候,会成立eclipse\runtime-workbench-workspace文件夹。它会启动一个新的Eclipse实例,该实例与正常的Eclipse窗口很是相似(除了你的插件可以利用了之外)。

可是你照旧首先选择文件 -> 新建 -> 项目菜单和Java项目来成立一个Java项目。这个项目标名称叫做Test。图6显示了带有我们成立的领导和编辑器的运行时事情台。

Eclipse插件开辟快速入门

图6:运行该插件

#p#分页标题#e#

此刻我们看一下Invokatron领导。从菜单文件->新建 -> 其它 可以看到它。查察种别Invokatron领导。选择Invokatron领导,接着点击"下一步"。这个领导会成立一个空的Invokatron文档。在Container(容器)字段中选择Test项目并点击"完成"。一个新的Invokatron编辑器显示出来了。这个编辑器有三个页面:一个文本编辑页面、一个属性页面(字体选择)和一个预览页面(排序的、用选择的字体绘制的)。

支持文件

你可以在许多位置指定本身的插件在编译和运行时所需要的文件。这使我们这些Eclipse用户感想很狐疑。我们试图澄清这些问题。

支持文件分为三类:

1、来自插件代码自身的类和资源。它们在成立进程中就会被打包为一个或多个.jar文件。

2、编译和运行插件所需要的类和资源。它们都应该被包括在类路径中,而且我们必需指明在导出的时候需要复制这些文件。

3、与插件一起包括进来的文件(譬喻readme.txt文件)。它们不在类路径中。

在插件编辑器的"成立(Build)"页面中可以配置编译情况。另外,这些配置会映射为build.properties文件。在第一次看到这个页面的时候我们大概会感想狐疑,因为它有四个分隔的部门:

· 运行时信息:列出了生成的库文件(第1类文件)。凡是,在一个库文件中包括了插件所需要的所有类,可是你大概但愿把它支解成更小的块。

· Source Build:列出应该被包括到.jar文件中的类文件(第1类文件的输入)

· Binary Build:列出应该被复制到导出的插件文件夹或档案文件中的文件(第3类文件)。上面的选择框被选中的时候,生成的文件会被自动地包括进来。

· 准确的类路径项:列出了在编译时刻你的应用措施所需要的.jar文件(第2类文件)。这些文件会被自动地添加到你的项目库中。我们凡是容易犯的一个错误是在"属性"页面中的"Java成立路径"中和这个列表中同时包括了某个.jar文件。

假如你的插件利用了某个非凡的库,就必需确保把这个库添加到项目中。接着把它添加到Source Build和准确的类路径项中。

插件编辑器的其它一些重要的属性页面有:

· 依赖干系(Dependencies):假如你的插件依赖于其它的插件,你就必需在这儿指定。

· 运行时(Runtime):在这个属性页面中你可觉得插件指定非凡行为。

导出

插件编码完成了,而且在事情台中测试过之后,就该筹备陈设到"真实的" Eclipse情况中了。要实现这个步调,需要返回"预览"页面并点击"导出领导"链接。"导出选项"对话框答允你从三种陈设范例中选择一个:

· 目次布局:把文件陈设到一个目次中供Eclipse当纵然用。接着你可以把方针位置(Destination)配置为当地的Eclipse文件夹(譬喻c:\dev\eclipse),直接地利用插件。

· 单个.zip文件:沟通的文件夹会被压缩为一个.zip文件,筹备好宣布给客户。接下来,你必需把这个文件解压到Eclipse最上层的文件夹来安装插件。你必需在文件名字段中指定.zip文件名。

· 更新站点利用的独立.jar文档文件:发生一个与Eclipse用于自动更新系统相兼容的.jar文件。

你点击"完成"之后,会生成我们选中的输出。假如你把输出作为目次布局,就必需从头启动Eclipse以激该死插件。

查察示例和源代码

关于如何编写Eclipse插件的最好信息来历是Eclipse所提供的插件示例集。假如我只能选择一个帮助本身编写插件的信息来历,我必然选择它。

假如你要下载这些插件,只需要会见Eclipse下载页面并选择最新的版本。接着看这个页面的中间,有一个"示例插件",请下载这些.zip文件(小于2MB)。把这些文件解压到Eclipse地址的文件夹(譬喻c:\dev)中。这个步调会在eclipse/features和eclipse/plugins下成立许多文件夹。这些示例的源代码在C:\dev\eclipse\plugins文件夹的大量.zip文件中,如下所示:

示例 代码位置
SWT示例 在org.eclipse.sdk.examples.source_3.0.1\src…文件夹下
独立的  
· 地点薄
· 剪贴板
· 文件查察器
· Hello World
· 悬浮辅佐
· 图像阐明器
· Java语法查察器
· 文本编辑器
…\org.eclipse.swt.examples_3.0.0\swtexamplessrc.zip与事情台集成的
· 欣赏器 …\org.eclipse.swt.examples.browser_3.0.0\ browserexamplesrc.zip
· 控件 …\org.eclipse.swt.examples.controls_3.0.0\controlssrc.zip
· SWT载入措施 …\org.eclipse.swt.examples.launcher_3.0.0\launchersrc.zip
· 机关 …\org.eclipse.swt.examples.layouts_3.0.0\layoutssrc.zip
· 画图 …\org.eclipse.swt.examples.paint_3.0.0\paintsrc.zip
· OLE 非凡文件夹:
org.eclipse.sdk.examples.source.win32.win32.x86_3.0.1\ src\org.eclipse.swt.examples.ole.win32_3.0.0\ olewin32src.zip
事情台示例  
· Java编辑器 …\org.eclipse.ui.examples.javaeditor_3.0.0\ javaeditorexamplesrc.zip
· 模板编辑器 …\org.eclipse.ui.examples.javaeditor_3.0.0\ templateeditorexamplesrc.zip
· 多页面编辑器 …\org.eclipse.ui.examples.multipageeditor_2.1.0<\ multipageeditorsrc.zip
· 属性表 …\org.eclipse.ui.examples.propertysheet_2.1.0\ propertysheetsrc.zip
· Readme东西 …\org.eclipse.ui.examples.readmetool_2.1.0\readmetoolsrc.zip
辅佐示例 非凡文件夹:
org.eclipse.help.examples.ex1_3.0.0(没有Java文件;HTML在doc.zip之中)
Team示例  
· 常识库提供措施
· 同步共享
…\org.eclipse.team.examples.filesystem_3.0.0\ teamfilesystemsrc.zip
文件较量示例  
· 布局较量 …\org.eclipse.compare.examples_3.0.0\ compareexamplessrc.zip
· XML较量 …\org.eclipse.compare.examples.xml_3.0.0\ xmlcompareexamplessrc.zip

#p#分页标题#e#

还存在一些GEF和Draw2D插件的有用示例。你可以会见GEF页面并下载最新版本。在版本宣布页面中间有"GEF示例",请下载该.zip文件。在写作本文的时候,该文件是GEF-examples-3.0.1.zip(0.5MB)。把这个文件解压到Eclipse地址的文件夹中。你将看到下面两个示例:

示例 代码位置
· 逻辑图暗示例 org.eclipse.gef.examples.source_3.0.1\src\ org.eclipse.gef.examples.logic_3.0.0\logicsrc.zip
· 流图暗示例 org.eclipse.gef.examples.source_3.0.1\src\ org.eclipse.gef.examples.flow_3.0.1\flowsrc.zip

查找插件开拓的信息

你首先查察的位置应该是本文前面部门中的示例。其次尚有辅佐系统,它的质量也很是高。相关的内容尚有:

· 平台插件开拓

· JTD插件开拓

· PDE指导

· Draw2D开拓者指导

· GEF开拓者指导

结论

此刻你已经有了成立Eclipse图形化插件的足够信息了。有了这么多类库的辅佐,只有你的想象力会限制你的作为了。其法门在于你要知道本身可以或许利用那些东西,而且利用正确的东西完成适当的事情。

    关键字:

在线提交作业