首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Eclipse :动作"RESET_PERSPECTIVE“显示以前隐藏的菜单项

Eclipse :动作"RESET_PERSPECTIVE“显示以前隐藏的菜单项
EN

Stack Overflow用户
提问于 2016-01-13 10:37:20
回答 1查看 92关注 0票数 0

由于从Eclipse3.0迁移到4.4,有必要隐藏不必要的菜单项,如“打开文件”和“键帮助”。

我通过在我的hideActionSet方法中调用postWindowOpen来隐藏这些

代码语言:javascript
复制
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");
        }
    }
}

到目前为止这还不错。但是,当重新排列我的透视图,然后重置透视图,然后更改为另一个透视图时,不必要的菜单项再次出现。

我尝试通过在我的perspectiveActivatedperspectiveChanged方法中调用相同的代码来修复这个问题。达到了hideActionSet的方法,但它们没有效果。

以下是这两种方法:

代码语言:javascript
复制
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");
        }
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-13 14:43:02

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

因此,结论是:

  • 使用hideActionSet隐藏:使用The active contribution item identifier
  • 使用活动隐藏:使用The active action definition identifier
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34764405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档