Можно ли расширить меню поиска Eclipse? - PullRequest
4 голосов
/ 04 августа 2011

прямо сейчас в eclipse невозможно расширить меню, определяемое другими плагинами, используя расширение eclipse: org.eclipse.ui.menus.

Я хочу добавить один пункт меню в Поиск, но не страницу поиска. Поскольку поиск по меню определяется org.eclipse.search, я не могу его добавить.

но я вижу, что JDT и CDT добавляют какой-то пункт меню при поиске. кто-нибудь знает, как они это делают?

приветствуется любая подсказка.

Ответы [ 3 ]

1 голос
/ 04 августа 2011

Обновление за август 2012 г., как прокомментировано reprogrammer , org.eclipse.ui.actionSets устарело:

Вместо этого используйте точку расширения org.eclipse.ui.commands.


Оригинальный ответ (август 2011 г.)

Набор действий (extension point="org.eclipse.ui.actionSets") с действием на 'menubarPath="org.eclipse.search.menu/dialogGroup"', рекомендованным Мануэль Сельва является официальным решением, в соответствии с общим вкладом в меню .

Но остерегайтесь некоторых проблем, которые могут остаться в Поиск вклада в меню, так как проиллюстрировано этой веткой вокруг (предположительно исправленной) ошибки 15684 :
(это было в 2009 году, надеюсь, с тех пор проблема устранена)

Что на самом деле делает , работа переопределяет все меню поиска, как в обходном пути, которое все еще используется в JDT 3.6:

   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            label="%JavaSearchActionSet.label"
            description="%JavaSearchActionSet.description"
            visible="false"
            id="org.eclipse.jdt.ui.SearchActionSet">
<!-- see http://bugs.eclipse.org/bugs/show_bug.cgi?id=15684    -->
<!-- Note: The menu (re-) definition has to be here due to bug: -->
<!-- =================================================================== -->
<!-- Search Menu                                                         -->
<!-- =================================================================== -->
         <menu
               label="%searchMenu.label"
               path="navigate"
               id="org.eclipse.search.menu">
                <groupMarker name="internalDialogGroup"/>   <!-- not to be used by clients  -->
                <groupMarker name="dialogGroup"/>           <!-- to be used by clients      -->
                <separator name="fileSearchContextMenuActionsGroup"/> <!-- to be used by clients      -->
                <separator name="contextMenuActionsGroup"/> <!-- to be used by clients -->
                <separator name="occurencesActionsGroup"/> <!-- to be used by clients -->
                <separator name="extraSearchGroup"/> <!-- to be used by clients -->
         </menu>
<!-- (...) -->
1 голос
/ 04 августа 2011

Пока вы знаете идентификатор меню или панели инструментов, вы можете расширять их, используя точку расширения org.eclipse.ui.menus. Для меню поиска этот идентификатор org.eclipse.search.menu. Если вы хотите добавить материал в dialogGroup, используйте org.eclipse.search.menu?after=dialogGroup.

1 голос
/ 04 августа 2011

Вы можете расширять меню из других плагинов, используя org.eclipse.ui.actionSets точку расширения

Так JDT выполняет расширение меню поиска с помощью собственного действия.Чтобы выполнить действие в заданном меню, вам нужно заполнить значение menubarPath.Например, JDT для поискового действия Java заполнил его:

org.eclipse.search.menu/dialogGroup

Я предлагаю импортировать источники пользовательского интерфейса JDT и посмотреть файл JDT plugin.xml.Для этого вам понадобится классический Eclipse SDK, а затем в представлении плагинов щелкните правой кнопкой мыши плагин org.eclipse.jdt.ui и выберите импорт в качестве источника.

...