我添加了扩展点org.eclipse.ui.menus
以在调试视图中创建一个新按钮。
完美无缺,但此特定按钮现在始终可见。如何添加visibleWhen
条件来检查调试会话当前是否正在运行?
我检查了Command Core Expressions,但没有找到任何可能适用于此情况的表达式。
答案 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>