我试图在自定义Eclipse插件的“同步”视图中添加上下文菜单项(带有子菜单)。我可以在Project Explorer,Navigator和其他视图中正确显示它,但不能在同步视图中显示。
即使我使用<menuContribution locationURI="popup:org.eclipse.ui.popup.any">
,上下文菜单也会添加到同步视图的所有地方。同步视图与其他视图有何不同?我正在使用Eclipse Neon(4.6.3)进行测试。
这是我的plugin.xml的一部分:
<extension point="org.eclipse.ui.menus">
<!-- this works to add a context menu entry to the Project Explorer view -->
<menuContribution locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
<menu label="My Menu" id="myplugin.menus.projectExplorerMenu">
<command commandId="myplugin.commands.command1" id="myplugin.menus.command1"></command>
</menu>
</menuContribution>
<!-- this does NOT add a context menu entry to the Synchronize view -->
<menuContribution locationURI="popup:org.eclipse.team.sync.views.SynchronizeView?after=additions">
<menu label="My Menu" id="myplugin.menus.synchronizeMenu">
<command commandId="myplugin.commands.command1" id="myplugin.menus.command1"></command>
</menu>
</menuContribution>
</extension>
以下是“同步”视图的插件间谍:
答案 0 :(得分:0)
SynchronizeView is a PageBookView which means it has multiple pages each of which may have a separate menu id. The page you are looking at is
ModelSynchronizePage`。
您可以使用菜单间谍(F2)获取上下文菜单的详细信息。在这里进行测试,看起来ModelSynchronizePage没有为其菜单指定ID。
似乎同步代码仍然使用带有org.eclipse.ui.popupMenus
的旧objectContribution
扩展点,不需要菜单ID。