我正在开发一个E4 RCP应用程序,并且有一个上下文菜单,根据选择,菜单项是否可见.我发现这样做的方法是使用plugin.xml中定义的核心表达式,如下所示:
<extension
point="org.eclipse.core.expressions.definitions">
<definition
id="com.foo.bar.test.core.expression">
<with variable="org.eclipse.ui.selection">
<iterate ifEmpty="false">
<or>
<instanceof value="com.foo.bar.Class1">
</instanceof>
<instanceof value="com.foo.bar.Class2">
</instanceof>
</or>
</iterate>
</with>
</definition>
Run Code Online (Sandbox Code Playgroud)
这样可以工作,如果所选项目是Class1或Class2的实例,则会显示菜单项.
这一切似乎都是一种非常讨厌的做事方式!当添加其中许多时,它将成为维护和调试的噩梦.
任何人都可以表现出更少的XML-ish方式吗?Java中纯粹的编程方法会很棒!