добавление команды в другой плагин?

#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?