原创

Eclipse 插件开发1

最近在弄一个简单的插件工具,那为了让插件好用,研究了下Eclipse右键弹出菜单以及工具栏下拉菜单。

编写plugin.xml后,目录底下存放了icon的文件,用于菜单的显示。

整理下:一级菜单一个->二级菜单若干->三级菜单若干。

遇到的问题

因为eclipse插件在开发的时候,需要找到locationURI这个费了好大一番事。

网上有说到用shift+alt+f1能调用到plugin spy,我试了下,成功找到了org.eclipse.wst.server.ui.ServersView右键弹出的point。

先看下效果图

效果图

效果图

这是在工具栏的菜单

效果图

这是server弹出的菜单.

代码:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   <extension 
   point="org.eclipse.ui.menus">
      <menuContribution
            locationURI=
            "popup:org.eclipse.wst.server.ui.ServersView?before=additions">
           <!--一级菜单-->
        <menu
			commandId="com.text.OpenJBOSSDIR1"
			icon="icon/shadowman.png"
			tooltip="JBOSS路径工具"
			style="pulldown"
			label = "JBOSS路径工具">
		</menu>
      </menuContribution>
      
		<menuContribution
			locationURI="popup:com.text.OpenJBOSSDIR1">
			<command
			          commandId="com.text.OpenJBOSSDIR"
			          icon="icon/menu.png"
			          label = "打开JBOSS路径"
			          tooltip="打开JBOSS路径">
			<parameter
        			name="action"
        			value="jbossdir" />
			</command>
			<separator
                  name="copyFileGroup">
    		</separator>

			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/removeall.gif"
				tooltip="清理关闭状态下的JBoss的临时文件"
				label = "清理Jboss临时文件">
			<parameter
        			name="action"
        			value="clearJbossTmpFile" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/shadowman.png"
				tooltip="打开jboss的default目录下的lib目录"
				label = "打开lib目录">
			<parameter
        			name="action"
        			value="openJbossLib" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/shadowman.png"
				tooltip="打开jboss的bin目录下的conf目录"
				label = "打开conf目录">
			<parameter
        			name="action"
        			value="openJbossConf" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/shadowman.png"
				tooltip="显示版本"
				label = "显示版本">
			<parameter
        			name="action"
        			value="showJbossUpdateVersion" />
			</command>
			<menu
				commandId="com.text.moreJbossTools1"
				icon="icon/shadowman.png"
				tooltip="更多JBOSS工具"
				style="pulldown"
				label = "更多JBOSS工具">
			>
			</menu>
		</menuContribution>
		
		<menuContribution
			locationURI="popup:com.text.moreJbossTools1">
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/ear-wiz-banner.gif"
				tooltip="使用eclipse直接打开jboss-web.deployer\conf下的web.xml"
				label = "打开web.xml(jboss-web.deployer)">
			<parameter
        			name="action"
        			value="editwebxmljbosswebdeployer" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/ear-wiz-banner.gif"
				tooltip="检测当前JBOSS是否支持热部署(判断development是否为true)"
				label = "热部署支持判断">
			<parameter
        			name="action"
        			value="jbossdevelopment" />
			</command>
		</menuContribution>
   </extension>
   
   <extension point="org.eclipse.ui.menus">
      <menuContribution
            allPopups="false"
            locationURI="toolbar:org.eclipse.ui.main.toolbar?after=additions">
           <!--一级菜单-->
        <toolbar id="com.text.toolbars">
            <command
                  commandId="com.text.popupActionCommand"
                  icon="icon/menu.png"
                  style="pulldown"
                  tooltip="新意EFSS项目组EJB代码生成插件">
            </command>
         </toolbar>
      </menuContribution>
      <!--二级菜单-->
      <menuContribution
			locationURI="menu:com.text.popupActionCommand">
			<command
			          commandId="com.text.popupActionCommand"
			          icon="icon/menu.png"
			          label = "xxxEJB代码生成插件"
			          tooltip="xxxEJB代码生成插件">
			</command>
			<menu
				commandId="com.text.jbossTools"
				icon="icon/shadowman.png"
					tooltip="JBOSS路径工具"
					style="pulldown"
					label = "JBOSS路径工具">
			
			</menu>
		</menuContribution>
		
		<menuContribution
			locationURI="menu:com.text.jbossTools">
			<command
			          commandId="com.text.OpenJBOSSDIR"
			          icon="icon/menu.png"
			          label = "打开JBOSS路径"
			          tooltip="打开JBOSS路径">
			<parameter
        			name="action"
        			value="jbossdir" />
			</command>
			<separator
                  name="copyFileGroup">
    		</separator>
			
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/removeall.gif"
				tooltip="清理关闭状态下的JBoss的临时文件"
				label = "清理Jboss临时文件">
			<parameter
        			name="action"
        			value="clearJbossTmpFile" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/removeall.gif"
				tooltip="打开jboss的default目录下的lib目录"
				label = "打开lib目录">
			<parameter
        			name="action"
        			value="openJbossLib" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/shadowman.png"
				tooltip="打开jboss的bin目录下的conf目录"
				label = "打开conf目录">
			<parameter
        			name="action"
        			value="openJbossConf" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/shadowman.png"
				tooltip="显示版本"
				label = "显示版本">
			<parameter
        			name="action"
        			value="showJbossUpdateVersion" />
			</command>
			<menu
				commandId="com.text.moreJbossTools"
				icon="icon/shadowman.png"
				tooltip="更多JBOSS工具"
				style="pulldown"
				label = "更多JBOSS工具">
			>
			</menu>
		</menuContribution>
		
		<menuContribution
			locationURI="menu:com.text.moreJbossTools">
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/ear-wiz-banner.gif"
				tooltip="使用eclipse直接打开jboss-web.deployer\conf下的web.xml"
				label = "打开web.xml(jboss-web.deployer)">
			<parameter
        			name="action"
        			value="editwebxmljbosswebdeployer" />
			</command>
			<command
				commandId="com.text.OpenJBOSSDIR"
				icon="icon/ear-wiz-banner.gif"
				tooltip="检测当前JBOSS是否支持热部署(判断development是否为true)"
				label = "热部署支持判断">
			<parameter
        			name="action"
        			value="jbossdevelopment" />
			</command>
		</menuContribution>
   </extension>
   
   <extension point="org.eclipse.ui.commands">
   
    <command id="com.text.popupActionCommand" name="name1">
         <defaultHandler
               class="com.text.ui.OpenGenerateHandler">
         </defaultHandler>
      </command>
      
      <command id="com.text.OpenJBOSSDIR" name="OpenJbossDir">
         <defaultHandler
               class="com.text.ui.JbossToolsHandler" >
         </defaultHandler>
        <commandParameter id="action" name="Action" />
      </command>
   </extension>
</plugin>
温馨提示:
本文最后更新于 2020年08月19日,已超过 900 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录