2

我对 Eclipse Juno 中的上下文菜单有疑问。我有一个扩展课程的ContributionItem课程。这将创建菜单项。每个菜单项都有一个索引。但我不知道,索引包含什么值以及它应该如何表现。我想,它应该在该位置插入项目。例如,我有贡献 URI:

popup:org.eclipse.jdt.ui.PackageExplorer?before=common.new.menu

然后是我的fill(Menu menu, int index)方法以 0 作为索引调用,因为common.new.menu是第一项。但总是菜单项(这是弹出菜单中的第一个)消失,当我第二次右键单击时,弹出菜单会缩小并且只包含分隔符和几个项目(包括我的项目) . 我完全迷路了...

注意:当一个资源被点击时,该fill()方法总是被调用两次。

4

1 回答 1

2

赫里卡!谷歌搜索了很长时间,我找到了它。isDynamic()有人在一次讨论中指出,重写类中定义的方法也很重要ContributionItem。默认实现总是返回 false。在 Indigo 中,这通常无关紧要,但 Juno 更严格一些。在自己的贡献项中需要重写该isDynamic()方法以使其始终返回 true。

于 2013-02-26T08:17:43.997 回答