由于从Eclipse3.0迁移到4.4,有必要隐藏不必要的菜单项,如“打开文件”和“键帮助”。
我通过在我的hideActionSet方法中调用postWindowOpen来隐藏这些
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");
}
}
}到目前为止这还不错。但是,当重新排列我的透视图,然后重置透视图,然后更改为另一个透视图时,不必要的菜单项再次出现。
我尝试通过在我的perspectiveActivated和perspectiveChanged方法中调用相同的代码来修复这个问题。达到了hideActionSet的方法,但它们没有效果。
以下是这两种方法:
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");
}
}
}发布于 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 identifierThe active action definition identifierhttps://stackoverflow.com/questions/34764405
复制相似问题