最近在弄一個簡單的插件工具,那為了讓插件好用,研究了下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>
複制