请耐心阅读,我已尽力解释情况,如果没有,请发表评论-
我有两个插件说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框架如何评估属性,是否有顺序?或者实际上我应该问:何时以及如何触发特定属性的属性测试器?有没有关于它的文件?