第一章 创建一个GEF Editor插件

From:http://www.blog.edu.cn/user1/19180/archives/2005/372830.shtml

1.1 向导
创建一个Plug-In Development->Plug-In Project,中间选择一路next直到选择模板的时候什么也不选择,直接按Finish。此时创建了一空的插件项目。

之后删除META-INF目录,然后在项目文件夹下新建plugin.xml文件,在文件中输入:


<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.0"?>
<plugin>
</plugin>

保存plugin.xml后,就建立了一个空的配置文件。

这里首先解释为什么要删除MANIFEST.MF文件,而创建plugin.xml文件?因为在插件在执行的时候,eclipse平台根据plugin.xml中的信息配置插件,如果plugin.xml和MANIFEST.MF同时存在,那么eclipse将不能正确载入插件。这是因为有些信息一旦在MANIFEST.MF记录,就不会再写入plugin.xml。当然,我没有试过单独使用manifest.mf配置插件。

这个时候查看一下eclipse为我们创建的文件,在src下有一个包和一个文件,这些都是在向导中设置的,如果向导中是胡乱填写的也没有关系,可以将它们删除,然后自己创建。这些文件的作用稍后再介绍,下面讲述如何配置plugin.xml。



1.2 配置plugin.xml
plugin.xml是插件项目的配置文件,eclipse根据这个文件中记录的信息来在如何管理插件。这个文件中记录了插件的扩展点、主类等重要信息,对于新建的插件项目,首先就应该要配置这个文件。如果你使用的是manifest.mf,配置的过程基本上类似,这里不再说明。

双击plugin.xml,进入一个编辑界面,该界面下方有一些切换页,包括Overview、Dependencies、Runtime、Extensions、Extension Point、Build等。我们按照顺序依次进行说明和配置。

1.2.1 Overview页 这个页中主要包括了插件的基本信息,同时也包括了一些其他页的连接。

这个页面中最重要的内容就是设置General Infomation中的class项,至于General Infomation中的其他项,可以根据自己的需要填写,不会影响插件的功能。这个class项就是插件的载入主文件,也就是向导中为我们创建的而被我们删除的(也可以不删除)文件,如果你刚才删除了那个文件,这个时候就需要根据你的需要重新创建一个主文件。在class项中填写你的主文件名就可以了,如果填写错误,那么插件将不能正确工作。

1.2.2 Dependencies页 Dependencies页中设定了你编写的插件需要用到那些模块和插件,这是由于eclipse的扩展机制所决定的。对于基于GEF的编辑器插件,一般来说应包括:
org.eclipse.core.runtime
org.eclipse.gef
org.eclipse.ui
org.eclipse.ui.views
这几个插件。你可以通过点击Add按钮增加新的插件依赖,通过remove删除插件依赖。至于其他插件项目需要使用哪些依赖,请查看相应的资料,我并没有对这一问题有过深究。

1.2.3 Runtime页 这里是用来设置插件运行时的类库文件,是一个jar文件。点击New增加新的文件,输入你想要的文件名。

这一步骤比较简单,但是这里输入的类库文件决定了Build页中的内容,这一问题等到Build页在详细说明。

1.2.4 Extensions页 这个页面里面包含了很重要的设置,它用来描述插件扩展了怎样的功能。点击Add会增加一个扩展,对于一个GEF编辑器插件,一般来说应该选择org.eclipse.ui.editors,注意不要选择Available Templates。

选中新建的条目,右键点击该条目,选择new->editor(对于org.eclipse.ui.editors),就会增加一个editor条目(不同的扩展会有不同的选择)。选中这个条目,旁边的Extension Element Details就会出现关于这个条目的信息。下面来说明一下主要应该填写的内容:
id:插件的ID,随便什么都行,只要不重复,不妨设置为你的主文件名。
name:插件的名字,随便起好了。
icon:插件的图标,这个就随意了,可以不填。
extensions:插件的扩展名,这就好像是在eclipse上为打开的文件和插件之间建立一个映射,文件的扩展名为这个的时候eclipse启用这个插件进行编辑。这个非常重要。
class:最重要的设置,在这里填写实现了插件主控制器的类。简单来说,这个类告诉eclipse如何创建GEF插件的主界面。必须填写这个类,但是我们还没有建立这个类,因此可以暂时留空。
command:不知道用途,可以不填。
launcher:不知道用途,感觉上好像是启用插件的加载器,可以不填。
contributorClass:实现工具栏的类,可以不填,如果你不需要工具栏的话(事实上还有另一种方法实现工具栏的大部分功能,在后面介绍调色板的时候再说明)。

剩余的使用默认值就可以了。

1.2.5 Extension Points页 这一页的功能还没有搞清楚,在实践当中好像不是必须的,因此可以不填。

1.2.6 Build页 在这里要配置如何生成插件,这个页中的内容和Runtime中的有关。选择Add Library输入在Runtime页中输入的类库名,并且删除默认的build项目(也可以直接rename)。在选中新建的类库,点击右边的Add Folder,选中源文件的目录并确定。这样将源文件加入到编译输入中。再在Binary Build中选择plugin.xml,这就大功告成了。

1.2.7 小结 配置PlugIn.xml的工作基本完毕(注意除了没有填写Extensions页中的class项:P)。但是插件此时并不能工作,因为我们还没有编写两个关键的文件,一个就是插件的主文件,另一个就是插件的主界面文件(姑且这么称呼吧)。 下面就是要介绍如何编写这两个文件,以及基本的代码实现。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值