【发布时间】:2013-10-23 00:32:14
【问题描述】:
我目前正在开发一个 Eclipse 插件作为我的研究项目,并且我为 java 编辑器的右键菜单创建了一个扩展。问题是即使用户右键单击编辑器的任何部分,这个新扩展也会始终出现。我想控制它的可见性,使新扩展仅在类中的某个布尔值(顺便说一下,这是一个单例)为真时出现。这可能吗?添加一个菜单贡献并设置它仅在类中的布尔值为真时可见?
【问题讨论】:
我目前正在开发一个 Eclipse 插件作为我的研究项目,并且我为 java 编辑器的右键菜单创建了一个扩展。问题是即使用户右键单击编辑器的任何部分,这个新扩展也会始终出现。我想控制它的可见性,使新扩展仅在类中的某个布尔值(顺便说一下,这是一个单例)为真时出现。这可能吗?添加一个菜单贡献并设置它仅在类中的布尔值为真时可见?
【问题讨论】:
您无法测试类中的值,但可以测试类可以使用System.setProperty() 设置的系统属性。
使用
<systemTest property="property name" value="value"/>
在表达式(例如<visibleWhen>)中进行测试。
您还可以使用可以访问该类的org.eclipse.core.expressions.propertyTesters 扩展点定义“属性测试器”。
【讨论】: