【发布时间】:2017-11-02 15:40:36
【问题描述】:
我正在尝试在我的插件中包含一个属性测试器变量,它检查自定义代码条件并基于它返回一个布尔值。 属性测试器用于根据属性测试器值启用和禁用的工具栏图标。
下面是我如何在我的 plugin.xml 中声明属性测试器:-
<extension point="org.eclipse.core.expressions.propertyTesters">
<propertyTester
class="org.eclipse.intro.test.IsFoobarPropertyTester"
id="org.eclipse.intro.IsFoobarPropertyTester"
namespace="org.eclipse.test.FooBar"
properties="isFooBar"
type="java.lang.Object">
</propertyTester>
</extension>
下面是我如何将属性测试器附加到工具栏菜单项:-
<toolbar id="org.eclipse.intro.FooToolbar">
<command
commandId="org.eclipse.intro.FooCommand"
icon="intro/css/graphics/fooicon.png"
tooltip="Foo Menu."
id="org.eclipse.intro.FooCommand">
<enabledWhen>
<test property="org.eclipse.test.FooBar.isFooBar"
forcePluginActivation="true">
</test>
</enabledWhen>
</command>
</toolbar>
现在当我运行 eclipse 插件时,属性测试器的 test() 永远不会被调用。甚至属性测试器的构造函数也被调用。我必须在 eclip 上明确地进行任何配置以使其运行吗?
【问题讨论】:
-
toolbar是否在org.eclipse.ui.menus扩展点中?仅支持visibleWhen。 -
是的,它在 org.eclipse.ui.menus 扩展点下。所以我应该只用 visibleWhen 替换 enabledWhen 即:-
-
谢谢!它有帮助。您能否评论为答案,以便我可以将其标记为答案。
标签: eclipse plugins eclipse-plugin