<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创建一个界面(菜单、按钮、透视图)是多么的简单,我们都不用编写实际界面的创建代码,只要设置一些扩展点就行了。