#eclipse #eclipse-plugin #eclipse-rcp #eclipse-cdt #menubar
Вопрос:
У меня есть настроенная установка eclipse, в которой нет Help -> Welcome
опции. Какой-то плагин скрыл его из меню.
Есть ли способ вернуть эту опцию, заменив какой-либо плагин или добавив в меню с помощью org.eclipse.ui.menus
точки расширения?
До сих пор я пытался следовать, расширяя WorkbenchWindowAdvisor
, чтобы сделать видимыми все меню, но это эффективно только для тех меню, которые уже есть.
@Override
public void postWindowOpen() {
IWorkbenchWindow workbenchWindow = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IContributionItem[] items = ((WorkbenchWindow)workbenchWindow).getMenuBarManager().getItems();
for (IContributionItem item : items) {
item.setVisible(false);
}
}
Наиболее вероятным плагином, по-видимому, является org.eclipse.ui.workbench
Комментарии:
1. Вы уверены, что страница приветствия правильно включена в вашем продукте RCP ? Что вы подразумеваете под «Какой-то плагин скрыл его из меню» ? Какой плагин скрыл пункт меню Справка > Приветствие> ?
2. Когда я нажимаю кнопку «Справка», я не вижу опции «Приветствие» в подменю. Я не уверен, какой плагин в установке скрыл это. Я ищу способы снова сделать это видимым.
3. Плагин
org.eclipse.ui.intro.universal
используется в установке eclipse, которая обычно является базовым плагином для универсального приветствия.4. Если ваше предположение верно, страницу приветствия все еще можно открыть с помощью Ctrl 3, введя
welcome
и нажав Enter. Можете ли вы подтвердить, что это правда?5. Идентификатор продукта по умолчанию указан в
configuration/config.ini
файле какeclipse.product=<product ID>
(который можно переопределить вeclipse.ini
(или в вашем RCP<app name>.ini
) или в командной строке через-product <product ID>
).
Ответ №1:
После детальной отладки в моей установке был плагин, который неправильно использовал productID
org.eclipse.ui.intro
расширение, поэтому опция страницы приветствия не была видна.
<extension
point="org.eclipse.ui.intro">
<introProductBinding
introId="org.eclipse.ui.intro.universal"
productId="com.xyz.ide">
</introProductBinding>
</extension>