2016-12-07 44 views
1

我添加了擴展點org.eclipse.ui.menus在調試視圖中創建一個新按鈕。活動調試會話的命令表達式?

完美的作品,但這個特殊的按鈕現在總是可見的。如何添加visibleWhen條件來檢查調試會話當前是否正在運行?

我檢查了Command Core Expressions,但沒有找到任何可能在這種情況下工作的表達式。

回答

1

org.eclipse.jdt.debug.ui插件使用表達式像這樣的菜單:

<visibleWhen 
     checkEnabled="false"> 
    <and> 
     <systemTest 
      property="org.eclipse.jdt.debug.ui.debuggerActive" 
      value="true"> 
     </systemTest> 

     ... other tests ... 

    </and> 
</visibleWhen> 
+0

感謝Greg。我忘了提及我正在使用CDT,我想這就是爲什麼它在我的情況下不起作用(我認爲調試視圖完全獨立於CDT)。那麼,你知道如何在CDT中做到這一點嗎? –

+0

我對CDT一無所知。 –

1

有一個在CDT一個很好的例子項目上如何開始定製DSF。請看看它的plugin.xml,並按照在此定義的命令ID的用法:org.eclipse.cdt.examples.dsf.gdb.command.showVersion

這是來自該代碼的visibleWhen的其中之一。

 <visibleWhen 
       checkEnabled="false"> 
      <and> 
       <reference 
        definitionId="org.eclipse.cdt.debug.ui.testIsDebugActionSetActive"> 
       </reference> 
       <with variable="org.eclipse.core.runtime.Platform"> 
       <test property="org.eclipse.core.runtime.bundleState" 
        args="org.eclipse.cdt.examples.dsf.gdb" 
        value="ACTIVE"> 
       </test> 
       </with> 
      </and> 
     </visibleWhen>