活动调试会话的命令表达式?

时间:2016-12-07 12:14:16

标签: eclipse eclipse-plugin eclipse-cdt eclipse-pde

我添加了扩展点org.eclipse.ui.menus以在调试视图中创建一个新按钮。

完美无缺,但此特定按钮现在始终可见。如何添加visibleWhen条件来检查调试会话当前是否正在运行?

我检查了Command Core Expressions,但没有找到任何可能适用于此情况的表达式。

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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>