Сначала проверьте эту ветку (и статью " Содействие действиям в Eclipse Workbench ", используемую в этой ветке ):
Уловка была "check the launcher config
" - даже после совершенно новой установки Eclipse 3.1.1, где в моем WS не было ничего другого, кроме моих собственных плагинов, были раздражающие дополнительные меню и досадная ошибка "редактировать последнюю позицию" все еще присутствует.
Затем я перешел к конфигурации запуска, как вы предлагали, в которой было много загрузок (созданных Eclipse автоматически) - , поэтому я отменил выбор всего, выбрал свои плагины и нажал "Add Required
" ; работает с WS с этим - отлично!
См. Также ошибка 115998
удаление функции «платформа» исправляет все это - очень простое исправление, которое было очень трудно найти!
Тем не менее, в общем, скрыть некоторые действия, которые вы можете попробовать, как в этой теме :
1 /, чтобы скрыть меню / панель навигации, заданную точкой расширения ActionSet.
IWorkbenchPage.hideActionSet(actionSetId)
IWorkbenchPage.hideActionSet("org.eclipse.search.menu");
2 / Скрыть свое меню:
MenuManager mbManager = ((ApplicationWindow)page.getWorkbenchWindow()).getMenuBarManager();
for (int i=0; i<mbManager.getItems().length; i++){
IContributionItem item=mbManager.getItems()[i];
if (item.getId().equals("org.eclipse.search.menu")){
item.setVisible(false);
}
}
Или вы можете попробовать этот поток , чтобы скрыть его для любой перспективы через PerspectiveListener
:
Идентификаторы действий, которые я получил, просматривая мои зависимые плагины затмения ... поиск ActionSets
package ch.post.pf.gui.prototyp.sesam.pstonline;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.IPerspectiveDescriptor;
import org.eclipse.ui.IPerspectiveListener;
import org.eclipse.ui.IStartup;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.PlatformUI;
public class ActionWiper implements IStartup, IPerspectiveListener {
private static final String[] ACTIONS_2_WIPE = new String[] {
"org.eclipse.search.searchActionSet",
"org.eclipse.ui.edit.text.actionSet.presentation",
"org.eclipse.ui.edit.text.actionSet.openExternalFile",
"org.eclipse.ui.edit.text.actionSet.annotationNavigation",
"org.eclipse.ui.edit.text.actionSet.navigation",
"org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo",
"org.eclipse.update.ui.softwareUpdates" };
public void earlyStartup() {
IWorkbenchWindow[] windows = PlatformUI.getWorkbench()
.getWorkbenchWindows();
for (int i = 0; i < windows.length; i++) {
IWorkbenchPage page = windows[i].getActivePage();
if (page != null) {
wipeActions(page);
}
windows[i].addPerspectiveListener(this);
}
}
private void wipeActions(IWorkbenchPage page) {
for (int i = 0; i < ACTIONS_2_WIPE.length; i++) {
wipeAction(page, ACTIONS_2_WIPE[i]);
}
}
private void wipeAction(final IWorkbenchPage page, final String actionsetId) {
Display.getDefault().syncExec(new Runnable() {
public void run() {
page.hideActionSet(actionsetId);
}
});
}
public void perspectiveActivated(IWorkbenchPage page,
IPerspectiveDescriptor perspective) {
wipeActions(page);
}
public void perspectiveChanged(IWorkbenchPage page,
IPerspectiveDescriptor perspective, String changeId) {
}
}
И удалите настройки:
С помощью PreferenceManager
я избавился даже от нежелательных предпочтений ..:)
Где PREFERENCES_2_WIPE
Строки должны быть идентификаторами основных категорий, от которых вы хотите избавиться. Словно
"org.eclipse.ui.preferencePages.Workbench" -> отображается как General
PreferenceManager pm = PlatformUI.getWorkbench().getPreferenceManager();
for (int i = 0; i < PREFERENCES_2_WIPE.length; i++) {
pm.remove(PREFERENCES_2_WIPE[i]);
}