【问题标题】:How are properties evaluated in eclipse?如何在 Eclipse 中评估属性?
【发布时间】:2016-09-29 18:54:50
【问题描述】:

请耐心阅读,我已尽力说明情况,如果没有请评论-

我有两个插件说AB。在这两个插件中,我为命令定义了一个“and”表达式。 “and”表达式中的条件之一是测试一个属性,比如说mypropA 不依赖于 BB 不依赖于 A

在第三个插件中定义了一个属性测试器,比如说CA , B 都依赖于C

在第四个插件D 中,定义了org.eclipse.core.expressions.propertyTesters 的扩展点,并在插件C 中定义了要由测试器测试的属性列表。

A, B 也依赖于插件D

我在 Eclipse 中看到一个奇怪的行为 - 只有当插件 B 定义的透视处于活动状态时,才会调用 myprop 的属性测试器。 因此,如果插件 B 尚未激活,则当 RCP 启动时,属性测试器不会测试属性 myprop,并且当我从插件 A 的角度来看时,它会返回意外值。

稍后当我提出插件B 的观点时,属性测试器测试myprop 和插件A 然后开始正常工作。

问题:为什么属性测试器需要插件B 才能激活? eclipse框架如何评估属性,是否有顺序?或者实际上我应该问:何时以及如何触发特定属性的属性测试器?有相关文档吗?

【问题讨论】:

    标签: eclipse-plugin eclipse-rcp property-testing


    【解决方案1】:

    您可能需要在表达式的test 元素上指定forcePluginActivation="true",因为听起来包含属性测试器的插件没有被任何东西激活。

    【讨论】:

    • 几分钟前我发现你回答了。是的,我必须指定forcePluginActivation="true" 才能使其工作。但我会接受你的回答。我有一个问题。 forcePluginActivation 是否应用于插件D,其中定义了我的属性测试器类或插件C,其中定义了扩展点,其中指定了要测试的属性列表?我认为它应该已应用于C,因为属性测试器已针对其他属性命中。
    • 它将是包含激活的测试器类的插件。
    • 其实这不是我发现的,当我在我将forcePluginActivation 指定为true 之前在我的测试器类中设置断点时,断点被击中,这表明包含测试器类的插件已激活但它不知道插件DpropertyTester 扩展中指定的属性。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多