刷新工作台

时间:2010-09-24 04:05:21

标签: eclipse-rcp

HI,

我遇到了一些问题..我想在eclipse工作台启动时隐藏菜单。 但问题是当eclipse工作台启动时菜单没有隐藏。它只是隐藏 当一些刷新发生时。例如:当我将默认透视图更改为其他透视图时,我得到了所需的输出。这意味着菜单正在隐藏。 但是当加载eclipse工作台时,它并没有隐藏菜单。以下是我的代码。

PlatformUI.getWorkbench().getDisplay().asyncExec(new Runnable() {
            public void run() {
                try {
IWorkbenchWindow window = Workbench.getInstance().getActiveWorkbenchWindow()
if(window instanceof WorkbenchWindow) {
   MenuManager menuManager = ((WorkbenchWindow)window).getMenuManager();
IContributionItem[] items = menuManager.getItems();
           for(IContributionItem item:items){
                  System.out.println("item.getId()::: "+item.getId());
                  menuManager.remove("org.eclipse.ui.run");
                  menuManager.remove("help");
                  menuManager.remove("project");
           }
   }
}`
}
};

2 个答案:

答案 0 :(得分:1)

鉴于您希望隐藏某些功能,我认为这不是最佳方法。 (不是我在口语中使用术语功能,而不是 Eclipse功能

我会推荐以下两种途径之一:

  1. 观点:查看扩展点org.eclipse.ui.perspectives。这允许您创建一个新的透视图,如调试透视图或Java透视图。使用透视图,您可以准确选择显示哪些菜单项和视图以及隐藏哪些菜单项和视图。
  2. 功能(又名活动):请参阅扩展点org.eclipse.ui.activities。这使您可以对工作区中可用的功能进行相当细粒度的控制。在此处查看更多信息:http://wiki.eclipse.org/Galileo_Capabilities

答案 1 :(得分:0)

将您的代码放在org.eclipse.ui.startup扩展点中。在实现接口IStartup之后创建一个Startup类。详情请点击此链接: - Eclipse plugin : disable/enable dynamically an action from main menubar