2017-04-11 9 views
0

enter image description here Eclipse RCP 응용 프로그램에서 메뉴 모음에 자동으로 실행 옵션이 표시됩니다. 코드를 쓰지 않고. 그래서, 나는 이것을 제거하고 싶다.ecplipse에서 RCP 응용 프로그램이 자동으로 메뉴 모음에서 실행 옵션을 가져옵니다. 제거하려면

기본적으로 검색 메뉴가 표시됩니다. 이 응용 프로그램은 괜찮습니다. 하지만, (파일, 편집기), 이러한 항목 및 검색 메뉴 항목 거리 같은 방식으로 내 수동으로 만든 메뉴 항목. 제발 RCP 이클립스에서 마누 항목에 거리를 극복하기 위해이 상황을 도와주세요.

+0

RCP에 포함 된 플러그인을 검토하십시오. 원하지 않는다면 디버그 및 실행 플러그인을 남겨 두십시오. –

+0

실행 구성의 플러그인에서 이것을 삭제하면 "MESSAGE Product Automatics.automaticsProduct를 찾을 수 없습니다."라는 오류 메시지가 나타납니다. http://stackoverflow.com/users/2670892/greg-449 – Biswabir

+0

일관성없는 플러그인 세트. 핵심 RCP 코드 외에는 아무것도 필요하지 않은 경우이 권리를 얻는 가장 간단한 방법은 코어 RCP 코드 만 포함하는 대상 플랫폼을 사용하는 것입니다. 예를 들어 'Platform Runtime Binary'(여기에는 http : // download .eclipse.org/eclipse/downloads/drops4/R-4.6.3-201703010400 /) –

답변

0

이 코드를 ApplicationWorkbenchWindowAdvisor.java 클래스에 붙여 넣기 만하면됩니다.

public void postWindowOpen() { 
    // remove unwanted UI contributions that eclipse makes by default 
    IWorkbenchWindow[] windows = PlatformUI.getWorkbench().getWorkbenchWindows(); 
    for (int i = 0; i < windows.length; ++i) { 
     IWorkbenchPage page = windows[i].getActivePage(); 
     if (page != null) { 

      WorkbenchWindow workbenchWin = (WorkbenchWindow)PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
      MenuManager menuManager = workbenchWin.getMenuManager(); 
      IContributionItem[] items = menuManager.getItems(); 

      for(IContributionItem item : items) { 
       if(item.getId().equals("org.eclipse.ui.run")){ 
       item.setVisible(false); 
       } 
      } 
      // hide 'Search' commands 
      page.hideActionSet("org.eclipse.search.searchActionSet"); 

     } 
    } 
} 
0

플러그인 스파이 기능을 사용하는 것이 좋습니다. Alt+shift+F1, Alt+shift+F2. 먼저 개발 환경에서 사용할 수 있으며 rcp에서 플러그인 스파이를 사용할 수 있습니다. 그냥 org.eclipse.pde.runtime 플러그인을 rcp에 추가하십시오.

그리고 어떤 plugin이 rcp의 메뉴 항목에 기여하는지 알아낼 수 있으며, 플러그인이 필요 없다고 생각하면 rcp에서 해당 플러그인을 제거 할 수 있습니다.

0

메뉴의 모든 기본 옵션을 제거하려면이 코드를 ApplicationWorkbenchWindowAdvisor.java 클래스에 추가해야합니다.

@Override 
public void postWindowOpen() { 
    IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow(); 
    IContributionItem[] items = ((WorkbenchWindow)workbenchWindow).getMenuBarManager().getItems(); 
    for (IContributionItem item : items) { 
      item.setVisible(false); 
    } 
}