我正在开发一个Eclipse RCP产品(基于Eclipse 3.6),它有多个应用程序/插件。 以下是我遇到的用例: 有3个插件A,B和C.我需要在插件A和B(不在C中)的“编辑”菜单中显示菜单贡献,仅在安装了插件C时。如果未安装插件C,则不应显示菜单贡献 - 即使在禁用状态下也不会显示。 在进行一些搜索时,我发现有一个属性测试器可以确定是否安装了插件 - 它将被用作:
<with variable="platform">
<test property="org.eclipse.core.runtime.isBundleInstalled" args="com.mybundle"/>
</with>
然而,当我尝试它并不适合我。
我不确定在我尝试使用它的上下文中是否使用此属性是否相关。有人可以帮忙吗?
如果无代码选项不可行,那么我将不得不以编程方式显示/隐藏菜单贡献,但我不知道理想情况下应该在哪里完成。
我应该为插件A和B编写PerspectiveListener,并在验证C已安装后添加PerspectiveActivated
的菜单贡献吗?
请帮忙。
谢谢和问候, Pradyumna
答案 0 :(得分:1)
我犯了一个错误,因为isBundleInstalled
无效。变量platform
不可用,因此我没有得到预期的输出。用org.eclipse.core.runtime.Platform
替换它就可以了。