К сожалению, похоже, что Eclipse уже делает это для представления Представления, вызывая приватный ViewContentProvider.removeIntroView
в поставщике контента для диалога Show Views. Чтобы обойти это ограничение, можно определить действия, добавив к точке расширения org.eclipse.ui.activities
(см. activityPatternBinding
о том, как действия могут быть сопоставлены с вкладами пользовательского интерфейса). Это не только удалит виды из диалогового окна «Показать виды», но также не позволит им отображаться в самих перспективах. Представления могут быть показаны программно. Мне также пришлось включить действия в методе ApplicationWorkbenchAdvisor.preStartup
из-за ограничений в нашем приложении:
Set<String> activityIds = new HashSet<String>();
activityIds.add("com.my.activity.id");
IWorkbenchActivitySupport activitySupport = PlatformUI.getWorkbench().getActivitySupport();
activitySupport.setEnabledActivityIds(activityIds);
В этом случае действие должно быть отключено перед отображением диалогового окна, поэтому вклад в меню Показать представления также необходимо изменить, чтобы сделать это.
Надеемся, что в следующей версии Eclipse будет добавлена точка расширения, чтобы разработчики могли декларативно удалять представления из диалога.