#java #eclipse #eclipse-rcp
#java #eclipse #eclipse-rcp
Вопрос:
Я работаю над проектом, где у нас есть два плагина. У меня есть команда, которую я определил в «side — plugin». Я хочу добавить его в меню основного плагина во время выполнения. Основной плагин не должен знать о побочном плагине. Может кто-нибудь, пожалуйста, указать мне правильное направление?
Спасибо, Патрик
Ответ №1:
Вы можете использовать org.eclipse.ui.menus
для добавления команд в главное меню или главную панель инструментов. В вашем боковом плагине после определения команды добавьте другое расширение:
<extension point="org.eclipse.ui.menus">
<menuContribution locationURI="menu:file?after=additions">
<command commandId="z.ex.cmd.commands.sampleCommand"
id="z.ex.cmd.menus.sampleCommand"/>
</menuContribution>
</extension>
Это добавит команду в меню Файл. Все, что вам нужно знать, это идентификатор меню, в которое вы хотите внести свой вклад (как определено в вашем основном плагине), и точку вставки (или дополнения, если это не имеет значения).
Ответ №2:
Для вкладов используются только идентификаторы команд. Таким образом, при добавлении элементов меню / панели инструментов вы можете использовать идентификаторы команд, которые определены в других плагинах. Для этого вам не нужно ни знать о другом плагине, ни устанавливать зависимость от этого плагина.
Комментарии:
1. Хммм … что происходит с подтверждениями, когда их идентификатор не найден? Потому что мой «боковой плагин» не всегда будет использоваться…
2. Если команда не может быть найдена, то внесенный элемент не появится в меню / панели инструментов
3. Разговаривал с моим боссом, он сказал, что изменение основного плагина — это не вариант. Полезен ли мне MenuService?