Java EclipseRCP:Action";重置“U透视图”;显示以前隐藏的菜单项

Java EclipseRCP:Action";重置“U透视图”;显示以前隐藏的菜单项,java,eclipse-plugin,eclipse-rcp,Java,Eclipse Plugin,Eclipse Rcp,由于从Eclipse3.0迁移到4.4,有必要隐藏不必要的菜单项,如“open file”和“key assist” 我通过在我的postWindowOpen方法中调用hideActionSet来隐藏它们 public void postWindowOpen(IWorkbenchWindowConfigurer configurer) { IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchW

由于从Eclipse3.0迁移到4.4,有必要隐藏不必要的菜单项,如“open file”和“key assist”

我通过在我的
postWindowOpen
方法中调用
hideActionSet
来隐藏它们

public void postWindowOpen(IWorkbenchWindowConfigurer configurer)
{       
    IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows();

    for(int i = 0; i < windows.length; ++i)
    {
        IWorkbenchPage page = windows[i].getActivePage();
        if(page != null)
        {
            page.hideActionSet("org.eclipse.ui.actionSet.keyBindings");
                page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
        }
    }
}

谢谢,成功了。我只是使用了错误的ID。当您使用方法
hideActionSet
时,您必须使用ID
org.eclipse.ui.actionSet.openFiles
,但当您想使用活动隐藏它们时,您必须使用
org.eclipse.ui.edit.text.openLocalFile.

因此,总而言之:

  • 使用
    hideActionSet
    隐藏:使用
    活动贡献项目标识符
  • 使用活动隐藏:使用活动操作定义标识符

您可以查看使用
org.eclipse.ui.activities
扩展点隐藏东西而不是代码。谢谢。我尝试了这种方法,我可以隐藏一些菜单项,比如我的应用程序中使用“.*”模式的about对话框。当我使用模式“org.eclipse.ui.actionSet.openFiles”时,它不会隐藏重置和更改透视图后突然出现的打开文件菜单项。。。
public void perspectiveActivated(IWorkbenchPage page, IPerspectiveDescriptor perspective) 
{
    if( perspective.getId().equals(m_PerspektivenID) || m_PerspektivenID.equals(STANDARDAKTION))
    {
        setEnabled( true );
    }
    else
    {
        setEnabled( false );
    }

    if(page != null)
    {
        page.hideActionSet("org.eclipse.ui.actionSet.keyBindings");
        page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
    }
}

public void perspectiveChanged(IWorkbenchPage page, IPerspectiveDescriptor perspective, String changeId) 
{
    if(changeId.equals(IWorkbenchPage.CHANGE_RESET_COMPLETE))
    {
        if(page != null)
        {
            page.hideActionSet("org.eclipse.ui.actionSet.openFiles");
            page.hideActionSet("org.eclipse.ui.actionSet.keyBindings");
        }
    }
}