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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (13)

我的问题可以分为三个:

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

  1. 标准UI?
  2. 一些现有的插件?
  3. 定制插件?

我没有找到做这件事的方式1和2。如果唯一的选择是定制插件,那么是否有人给我正确的起步方向?(我有一些Java方面的经验,但没有Eclipse插件方面的经验)

提问于
用户回答回答于

您可以通过标准GUI隐藏菜单或菜单项:

若要隐藏菜单项或工具栏按钮,请执行以下操作:

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

但这会隐藏这个条目菜单(上下文或非上下文)。

所以它可能不像你想通过GUI的那么细致。

你也可以试试插件

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

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

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

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

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

1/使用plug-in spy。 第一种方法是使用plug-in spy。 按Alt-Shift-F2键,单击要隐藏的菜单项或工具栏按钮。 如果在标题“Active action Definition标识符”下有一个ID字符串,那么您就幸运了。 此项已使用命令扩展添加,您可以使用此ID作为活动扩展的模式参数。 但是,并非所有使用命令扩展添加的项都将其ID字符串显示给插件间谍。 作为附带说明,ID字符串是分隔的。 例如,按钮的ID可能是“org.eclipse.ui.navigate.backwardHistory“ 正则表达式使用句点代表任何字符。幸运的是,作为通配符的句点与实际句点字符匹配,因此如果不想转义,就不需要转义它们。我发现如果它们不是转义的话,它会使它更容易阅读,而且它极不可能导致任何模糊的匹配。

扫码关注云+社区