我想要的是向 Package Explorer 和 Eclipse 的 Project Explorer 添加一个菜单项,该菜单项仅当我右键单击项目元素时才可见。
到目前为止我所做的是 - 向包和项目资源管理器添加了一个菜单项,但从任何地方右键单击它们都可见。
我想要的是仅当从项目/包资源管理器中右键单击项目元素时才显示该命令。
如果有人右键单击包或任何项目中的任何文件夹,我不希望菜单项可见。
即。
Right Click on Project -> Menu Item Visible
Right Click on any other resource in the project -> Menu Item not present
通过添加属性可以实现这一点吗?我对如何使用它感到困惑。我需要为 Package 和 Project Explorer 添加点击监听器吗?
我正在为 Eclipse Indigo 编写这个插件。
最佳答案
您可以使用 org.eclipse.ui.menus
扩展点中 command
的 visibleWhen
元素来控制可见性。
对于项目,您需要检查当前选择是否适应IProject
界面:
<visibleWhen
checkEnabled="false">
<iterate>
<adapt
type="org.eclipse.core.resources.IProject">
</adapt>
</iterate>
</visibleWhen>
它正在迭代当前选择中的对象。
所选对象将是属于当前 View 的一些用户界面对象,通常这些对象不直接实现IProject
接口(interface)。相反,可以使用 Eclipse 适配器管理器使对象“适应”接口(interface)(请参阅 IAdapterManager、IAdapterFactory、IAdaptable 接口(interface)) 。 adapt
元素正在测试选择对象是否可以调整。
关于Eclipse 插件 - 使菜单项仅在选择特定元素时可见,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42762312/