plugin.xml 规格严格

<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="样本菜单(&amp;M)"  id="sampleMenu">
            <separator name="sampleGroup"></separator>
         </menu>
        
         <action
               label="样本操作(&amp;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创建一个界面(菜单、按钮、透视图)是多么的简单,我们都不用编写实际界面的创建代码,只要设置一些扩展点就行了。

原文地址:https://www.cnblogs.com/diyunpeng/p/2244497.html