禁用Eclipse重命名上下文菜单

时间:2019-09-20 08:40:53

标签: java eclipse-plugin swt eclipse-rcp rcp

我正在使用RCP应用程序,并且想禁用“文件”菜单下的“重命名”上下文菜单。我尝试了几种方法,但不幸的是,没有一种方法对我有用。以下是我到目前为止所尝试的。

使用活动

 <extension
     point="org.eclipse.ui.activities">
  <activity
        id="disableRenameContextMenu"
        name="Disable Rename Context Menu">
        <enabledWhen>
           <not>
              <test
                 property="com.session.ui.IsSessionActive">
              </test>
           </not>
     </enabledWhen>
  </activity>
  <activityPatternBinding
        activityId="disableRenameContextMenu"
        pattern="org.eclipse.ui.edit.rename">
  </activityPatternBinding>

使用透视扩展

<extension
     point="org.eclipse.ui.perspectiveExtensions">
  <perspectiveExtension
        targetID="com.perspectives.MyPerspective">
     <hiddenMenuItem
           id="org.eclipse.ui.edit.rename">
     </hiddenMenuItem>
  </perspectiveExtension>

使用命令处理程序

<extension
   point="org.eclipse.ui.handlers">
 <handler
    class=""
    commandId="org.eclipse.ui.edit.rename">
 <enabledWhen>
    <not>
        <test
            property="com.session.ui.IsSessionActive">
        </test>
     </not>
 </enabledWhen>

有什么方法可以禁用“重命名”上下文菜单?我在上述方法中做错了什么吗?任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:1)

透视图扩展名应该起作用,但是hiddenMenuItem中的ID是菜单ID,与菜单使用的命令ID 相同。

对于“重命名”,菜单ID为“重命名”:

<hiddenMenuItem
   id="rename">
</hiddenMenuItem>

核心菜单项的菜单ID在org.eclipse.ui.actions.ActionFactory

中定义