【问题标题】:Eclipse Plugin: Property tester never gets calledEclipse 插件:永远不会调用属性测试器
【发布时间】: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


【解决方案1】:

org.eclipse.ui.menus 扩展点的command 元素不支持enabledWhen。仅支持visibleWhen

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-12-14
    • 2020-11-22
    • 2021-08-08
    • 1970-01-01
    • 2012-11-09
    • 2016-02-22
    • 2015-06-30
    相关资源
    最近更新 更多