【问题标题】:Eclipse RCP text editor - hiding context menu elementsEclipse RCP 文本编辑器 - 隐藏上下文菜单元素
【发布时间】:2014-02-11 08:36:19
【问题描述】:

我正在尝试为我的 Eclipse RCP 应用程序实现一个稍微定制的 XML 编辑器。编辑器扩展了 TextEditor 类并且工作得很好。除了它在上下文(右键单击)弹出菜单中添加了很多我并不真正需要的东西。发现需要覆盖editorContextMenuAboutToShow函数:

@Override
public void editorContextMenuAboutToShow(IMenuManager menu) {
    menu.removeAll();
}

这很好用,只是我的上下文菜单中仍然有菜单,即 Debug As、Run As、Validate、Team、Compare 等菜单及其子菜单。

我不知道还能做什么,这很烦人,因为我不希望用户访问这些功能。我会很感激任何帮助

谢谢

【问题讨论】:

  • 额外的项目是因为AbstractTextEditor调用IEditorSite.registerContextMenu注册上下文菜单,让其他插件添加到菜单中。我看不出有什么明显的方法可以阻止这种情况。
  • 感谢格雷格的帮助!看来我们需要实现我们自己的 AbstractTextEditor 如果我们想覆盖这些。
  • 是在 Eclipse 3.x 上吗?那么这篇文章可能会对您有所帮助:stackoverflow.com/questions/3482312/…
  • 您也许可以使用另一条评论中提到的问题中提到的activityPatternBinding。

标签: eclipse eclipse-plugin eclipse-rcp


【解决方案1】:

我猜 activities 不适用于 Context 菜单。

我可以通过在editorContextMenuAboutToShow() 方法中添加以下单行代码来删除所有上下文菜单,但“Github”菜单除外:

ObjectActionContributorManager.getManager().unregisterAllContributors();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-17
    • 1970-01-01
    • 2012-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多