<plugin>项
<plugin
id="插件的唯一标识" name="插件的名称" version="插件版本号" provider-name="插件开发商的名称" class="插件类的名称">说明:
<plugin>是plugin.xml的主体。id - 插件的唯一标识。实际项目中一般加上包名或网址名来命名id,
比如eclipse的tomcat插件是这样命名的:org.eclipse.tomcat,name - 插件的名称,可以不唯一。
version - 插件版本号。 provider-name - 插件开发商的名称,可以写上作者或公司的名称。 class - 插件类的名称,前面加上包名。---------------------------------------------------------------------------------------------
<runtime>项
<runtime>
<library name="plugin.jar"> <export name="*"/> </library> </runtime>说明:
这里是声明插件运行时需要的jar包,例: plugin.jar是本插件自身的jar包
<runtime>
<library name="plugin.jar"> <export name="*"/> </library><library name="lib\mysql-connector-java-3.0.9-stable-bin.jar"/>
</runtime>---------------------------------------------------------------------------------------------
<requires>项
<requires>
<import plugin="org.eclipse.ui"/> <import plugin="org.eclipse.core.runtime"/> </requires>说明:
在requires域中定义了该插件所要使用的依赖插件。现在两项就够了,随着开发的不断深入这里将会添加更多对其它插件的引用。如下是笔者的实际项目中的requires设置,它要用到draw2d和gef插件来画图、用于插件的帮助系统来创建建自己的帮助文档。
<requires> <import plugin="org.eclipse.ui"/> <import plugin="org.eclipse.core.runtime"/> <import plugin="org.eclipse.core.resources"/> <import plugin="org.eclipse.draw2d"/> <import plugin="org.eclipse.gef"/> <import plugin="org.eclipse.help"/> <import plugin="org.eclipse.help.ui"/> <import plugin="org.eclipse.help.appserver"/> <import plugin="org.eclipse.help.webapp"/> </requires>---------------------------------------------------------------------------------------------
<extension>项
<extension point="org.eclipse.ui.actionSets">
<actionSet label="Sample Action Set" visible="true" id="plugintest.actionSet"> <menu label="样本菜单(&M)" id="sampleMenu"> <separator name="sampleGroup"></separator> </menu> <action label="样本操作(&S)" icon="icons/sample.gif" class="myplugin.actions.SampleAction" tooltip="提示文本" menubarPath="sampleMenu/sampleGroup" toolbarPath="sampleGroup" id="myplugin.actions.SampleAction"> </action> </actionSet></extension>说明:
在<extension>项设置要扩展的扩展点,它是非常重要的一项。 point="org.eclipse.ui.actionSets",设置了本插件的扩展点为何,actionSets是指Eclipse的菜单、菜单项和工具栏按钮的扩展点<actionSet>项表示一个action组(菜单、按钮)。
label是显示的名称。id其唯一标识符,只要保证在本plugin.xml文件中不存在重复的id就行了。visible指设置的按钮或菜单是否显示,如果设置成false,则不显示。注意:要看visible设置的效果要将“透视图”关掉再重新打开。<menu>是<actionSet>下的子项,它表示在Eclipse中插入显示一个名为“样本菜单(M)”的主菜单。
separator标签是一个结束符,它可以对菜单分组。<action>也是<actionSet>下的子项,由它设置菜单、按钮。
icon是图片的路径Class是按钮所对应的类,注意包名也要加上。menubarPath表示把这个action做成一个菜单项放在前<menu>定义的主菜单下。toolbarPath表示把这个action再做成一个工具栏按钮。id是标识符,设置成和class项一样的名称是个不错的选择。-----
以上仅是Eclipse的扩展点中的一种,此外还有其它的扩展点共有一百多种之多。
我们没有必要了解所有扩展点的设置,只须熟悉一些常用的扩展点即可,如视图的扩展点org.eclipse.ui.views、编辑器的扩展点org.eclipse.ui.editors等org.eclipse.ui.perspectives是透视图的扩展点
-----
各种扩展点在Eclipse的帮助中有详细的说明,其位置为:选择主菜单“帮助→帮助内容”,然后打开“平台插件开发指南→参考→扩展点参考”项。
-----
由本小节可以看到在Eclipse创建一个界面(菜单、按钮、透视图)是多么的简单,我们都不用编写实际界面的创建代码,只要设置一些扩展点就行了。