22

我的问题可以分为三个:

是否可以通过...隐藏/删除 Eclipse (3.6) 中的任意上下文菜单项

  1. 标准用户界面?
  2. 一些现有的插件?
  3. 自定义插件?

我未能通过方法 1 和 2 找到方法。如果唯一的选择是创建自定义插件,那么任何人都可以将我推向正确的开始方向(我在 Java 方面有一些经验,但在 Eclipse 插件方面没有经验)英寸)。

4

1 回答 1

23

您可以通过标准 GUI 隐藏菜单或菜单条目:请参阅帮助

要隐藏菜单项或工具栏按钮:

  • 切换到要配置的透视图。
  • 选择 Window > Customize Perspective....
  • 打开菜单可见性或工具栏可见性选项卡。
  • 找到您要隐藏的项目。
  • 取消选中项目旁边的复选框。取消选中菜单以隐藏其所有子项。
  • 单击确定以使更改生效。

但这将从它所在的所有菜单(上下文或非上下文)中隐藏此条目。
因此,它可能不像您希望通过 GUI 那样细粒度。


您也可以通过插件进行尝试(另请参阅菜单贡献

第一步是在 Eclipse 中使用扩展的标准步骤。

  • 打开plugin.xml文件并添加org.eclipse.ui.activities extension.
  • 然后创建一个活动节点并给它一个唯一的ID。
  • 然后创建一个activityPatternBinding节点并使用该活动的唯一 ID 来找到该活动节点的模式节点。
    activityPatternBinding节点要求您为要隐藏的 UI 元素的 ID 字符串提供正则表达式。

问题是似乎至少有 3 种方式可以将菜单项和工具栏按钮添加到 UI。

  • 第一种方法是通过较新的命令/菜单扩展。
  • 第二种方法是通过旧的 ActionSets Extension。
  • 然后还有其他 UI 元素似乎被硬编码到 Workbench 中并且没有 ID 字符串并且无法使用活动扩展隐藏。幸运的是,这种第三种类型的 UI 元素很少。

考虑到您正在谈论最新的 Eclipse,我将仅复制第一种方式:

1/ 使用插件间谍

第一种方法是使用 Plug-In Spy。
alt- shift-F2并单击要隐藏的菜单项或工具栏按钮。
如果标题“活动操作定义标识符”下有一个 ID 字符串,那么您很幸运。
此项目已使用命令扩展添加,您可以使用此 ID 作为活动扩展的模式参数。
但并非所有使用命令扩展添加的项目都将其 ID 字符串呈现给插件间谍。

作为旁注,ID 字符串是用句点分隔的。
例如,按钮的 ID 可能是“ org.eclipse.ui.navigate.backwardHistory”。
正则表达式使用句点代表任何字符。幸运的是,用作通配符的句点与实际句点字符匹配,因此如果您不想转义它们,则无需转义。我发现如果它们没有被转义,它会更容易阅读,而且它不太可能导致任何模棱两可的匹配。

于 2010-08-14T06:54:54.483 回答