2016-11-15 36 views
0

我目前正在使用Eclipse-Plugin,但沒有人知道它應該在Eclipse中顯示的位置。所以我想了解如何plugin.xml的作品,至今它看起來不錯 - 所以纔到這裏確認自己:Eclipse-Plugin - plugin.xml - 理解?after = refactor

<menuContribution 
    allPopups="false" 
    locationURI="[...]?after=refactor"> 

這意味着,我的插件菜單(與命令包含)應該在選項後顯示後我在任何元素上選擇Refactor,對不對?

(還有一些工作要在這個工作,到目前爲止沒有任何顯示butso我可以肯定在正確的地方一看,那是我的(很簡單)問題的原因。)

回答

1

這一切意思是在菜單項refactor之後,菜單項被添加到菜單中。它與運行任何操作無關。您可以使用visibleWhen元素來控制菜單項何時可見。

例如,這是從Java調試代碼:

<menuContribution 
     allPopups="false" 
     locationURI="popup:#CompilationUnitEditorContext?before=additions"> 
     <separator 
      name="java.debug"> 
     </separator> 
     <command 
      commandId="org.eclipse.jdt.debug.ui.commands.StepIntoSelection" 
      style="push"> 
     <visibleWhen 
       checkEnabled="false"> 
      <and> 
       <systemTest 
        property="org.eclipse.jdt.debug.ui.debuggerActive" 
        value="true"> 
       </systemTest> 
       <systemTest 
        property="org.eclipse.jdt.debug.ui.instanceof.IJavaStackFrame" 
        value="true"> 
       </systemTest> 
       <with 
        variable="activeMenuSelection"> 
        <instanceof 
         value="org.eclipse.jface.text.ITextSelection"> 
        </instanceof> 
       </with> 
      </and> 
     </visibleWhen> 
     </command> 
    </menuContribution> 

在這種情況下before=additions說,菜單項稱爲additions之前的菜單添加。一個相當複雜的visibleWhen用於控制何時顯示菜單。

隔板定義:

 <separator 
      name="java.debug"> 
     </separator> 

增加了一個單獨的具有名稱java.debug - 這可能隨後在before/after使用。

+0

所以它沒有顯示**後**我點擊'重構',而是低於條目 - 我得到這個權利? – SgtDroelf

+1

這只是關於菜單中的位置。它與運行一些操作無關 - 沒有一個標準的方法來做到這一點。 –