Eclipse RCP 애플리케이션에서 플러그인 기여를 비활성화합니다
-
06-07-2019 - |
문제
나는 자주이 문제가 있었고 아직 해결책을 찾지 못했습니다. 새로운 Eclipse RCP 기반 애플리케이션을 작성할 때마다 Eclipse 플랫폼에서 플러그인을 포함 할 때마다 해당 플러그인 중 일부를 '상속'UI 기여도.
이 기여의 대부분 (메뉴 항목, 키보드 바로 가기, 속성 페이지)은 유용하지만 때로는 실제로 필요하지 않아서 사용자를 혼동 할 수 있기 때문에 이러한 기여도 중 일부를 비활성화하고 싶습니다.
Eclipse RCP 애플리케이션에서 선택된 기부금을 비활성화/금지하는 공식 또는 실질적인 방법을 알고 있습니까?
해결책
일식 "활동"API를 살펴보십시오. ID에 따라 기부금을 숨길 수 있습니다.
몇 가지 링크 :
- http://wiki.eclipse.org/faq_how_how_do_i_add_activities_to_my_plug-in%3f
- http://www.vogella.de/blog/2009/07/13/eclipse-activities/
- http://random-eclipse-tips.blogspot.com/2009/02/eclipse-rcp-removing-unwanted_02.html
- http://help.eclipse.org/helios/index.jsp?topic=/org.eclipse.platform.doc.isv/guide/workbench_scalability.htm
다른 팁
그렇게하는 유일한 방법은 다음과 같습니다.
IMenuService::removeContributionFactory()
폴 웹스터는 IMenuService::addOverride()
메뉴의 가시성을 변경하려면 공헌을 방지하지만 그 아이디어는 아직 통합되지 않았습니다.
이것에서 기여를 제거하는 예를 볼 수 있습니다. org.eclipse.ui.tests.menus.MenuBuilder
수업;
public static void removeMenuContribution() {
if (!PlatformUI.isWorkbenchRunning()) {
return;
}
IMenuService menuService = (IMenuService) PlatformUI.getWorkbench()
.getService(IMenuService.class);
if (menuService==null) {
return;
}
menuService.removeContributionFactory(viewMenuAddition);
viewMenuAddition = null;
menuService.removeContributionFactory(viewToolbarAddition);
viewMenuAddition = null;
}
Equinox 변환은 또한 원치 않는 UI 기여를 제거하는 XLST 변환을 제공하는 데 사용될 수 있습니다.
제휴하지 않습니다 StackOverflow