반응형
구글링해서 스택 오버플로우에서 찾은 해결법이 나한텐 안 먹혀서 쓰는 포스팅.
* 참고로 안 됐던 코드는 여기에 있음
혹시 누군가는 될지도 모를 일이니... 근데 난 안됐음 주의
⬇내가 성공한 코드⬇
//ApplicationWorkbenchWindowAdvisor.java 안의 preWindowOpen() 메소드 내부에 아래 코드를 작성한다.
ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
IActionSetDescriptor[] actionSets = reg.getActionSets();
for (int i = 0 ; i < cationSets.length ; i++ ){
if(actionSets[i].getId().startsWith("org.eclipse.")){
IExtension ext = actionSets[i].getConfigurationElement().getDeclaringExtension();
reg.removeExtension(ext, new Object[]{actionSets[i]});
}
}
그런데 이렇게 하면 "org.eclipse."로 시작하는 모든 커맨드가 제거되므로,
exit 등 몇가지 가져다 쓰고 싶은 명령어가 있다면, 아래처럼 처리한다.
동일한 코드 반복문 안에 특정 명령어 제외 조건을 넣었다.
//ApplicationWorkbenchWindowAdvisor.java 안의 preWindowOpen() 메소드 내부에 아래 코드를 작성한다.
ActionSetRegistry reg = WorkbenchPlugin.getDefault().getActionSetRegistry();
IActionSetDescriptor[] actionSets = reg.getActionSets();
Hashtable <String, String> exceptId = new Hashtable();
exceptId.put("org.eclipse.file.exit", "org.eclipse.file.exit");
//이외에도 여러 명령어를 같은 식으로 put 한다.
for (int i = 0 ; i < cationSets.length ; i++ ){
if(exceptId.containsKey(actionSets[i].getId()))
continue;
if(actionSets[i].getId().startsWith("org.eclipse.")){
IExtension ext = actionSets[i].getConfigurationElement().getDeclaringExtension();
reg.removeExtension(ext, new Object[]{actionSets[i]});
}
}
적용하고 실행시키면 짜잔.
거슬리던 기본 툴바 메뉴들이 사라져 있을 것이다.
스샷은 없음.
반응형
'안그래보이지만 개발자 > 환경' 카테고리의 다른 글
[Eclipse RCP] P2 Equinox 자동 업데이트 addRepository 오류 해결 (0) | 2021.01.27 |
---|---|
[Eclipse RCP] 프로젝트 export 했을 때 preference 저장 안 되는 경우 (0) | 2020.11.05 |
[Eclipse RCP] 플러그인 ID로 리소스 접근하기 (0) | 2020.05.11 |
[이클립스] 이클립스 실행 안될 때, RCP 어플리케이션 실행 오류 (0) | 2019.12.30 |
리눅스 java 여러 버전 설치되어 있을 때 - alternatives 명령어로 선택 (1) | 2019.09.16 |