请耐心阅读,我已尽力解释情况,如果没有,请发表评论-
我有两个插件说A
,B
。在这两个插件中,我为命令定义了一个“and”表达式。“and”表达式中的条件之一是测试一个属性让我们说myprop
。
A
不依赖B
也不B
依赖A
。
在第三个插件中定义了一个属性测试器,可以说C
。A
,B
两者都依赖于C
。
在第四个插件D
中,定义了扩展点,并在插件org.eclipse.core.expressions.propertyTesters
中定义了要由测试器测试的属性列表C
。
A
,也B
取决于插件D
。
我在 eclipse 中看到一个奇怪的行为 - 只有当插件 B 定义的透视处于活动状态时,myprop
才会调用属性测试器。B
因此,如果插件尚未处于活动状态,则当 RCP 启动时,属性测试器不会测试该属性myprop
,并且当我从 plugin 的角度来看时它会返回意外的值A
。
稍后,当我提出 pluginB
的观点时,属性测试器进行测试,然后myprop
插件A
开始正常工作。
问题:为什么属性测试器需要B
激活插件?eclipse框架如何评估属性,是否有顺序?或者实际上我应该问:何时以及如何触发特定属性的属性测试器?有没有关于它的文件?