天天看點

Eclipse 插件開發1

最近在弄一個簡單的插件工具,那為了讓插件好用,研究了下Eclipse右鍵彈出菜單以及工具欄下拉菜單。

編寫

plugin.xml

後,目錄底下存放了icon的檔案,用于菜單的顯示。

整理下:一級菜單一個->二級菜單若幹->三級菜單若幹。

遇到的問題

因為eclipse插件在開發的時候,需要找到

locationURI

這個費了好大一番事。

網上有說到用

shift+alt+f1

能調用到

plugin spy

,我試了下,成功找到了

org.eclipse.wst.server.ui.ServersView

右鍵彈出的point。

先看下效果圖

Eclipse 插件開發1
Eclipse 插件開發1

這是在工具欄的菜單

Eclipse 插件開發1

這是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>                                    

複制

繼續閱讀