Мой вопрос может быть разделен на три:
Действительно ли возможно скрыться/удалить произвольные объекты контекстного меню в Eclipse (3.6)...
Мне не удалось найти способы сделать это методами 1 и 2. Если единственная опция создает пользовательский плагин, мог любой продвигать меня к правильному направлению, где запустить (у меня есть некоторый опыт в Java, но не в плагинах Eclipse).
Вы можете скрыть меню или пункты меню через стандартный графический интерфейс: см. Справку
Чтобы скрыть пункт меню или кнопку панели инструментов:
- Переключитесь на перспективу, которую вы хотите настроить.
- Выберите
Окно> Настроить перспективу ....
- Откройте вкладку «Видимость меню» или «Видимость панели инструментов».
- Найдите предмет, который хотите скрыть.
- Снимите флажок рядом с элементом. Снимите флажок с меню, чтобы скрыть всех его дочерних элементов.
- Щелкните OK, чтобы изменения вступили в силу.
Но это скроет эту запись из всех меню (контекстных или нет), в которых она присутствует.
Так что это может быть не так детально, как хотелось бы, через графический интерфейс.
Вы также можете попробовать через плагин (см. Также Вклад меню )
Первые шаги довольно стандартны для использования расширений в Eclipse.
- Откройте файл
plugin.xml
и добавьте расширениеorg.eclipse.ui.activities
.- Затем создайте узел активности и присвойте ему уникальный идентификатор.
- Затем создайте узел
activityPatternBinding
и используйте уникальный идентификатор для действия, чтобы найти узел шаблона для узла действия.
УзелactivityPatternBinding
требует, чтобы вы предоставили регулярное выражение для строки идентификатора элемента пользовательского интерфейса, который вы хотите скрыть.Проблема в том, что существует как минимум 3 способа добавления пунктов меню и кнопок панели инструментов в пользовательский интерфейс.
Учитывая, что вы говорите о последней версии Eclipse, я скопирую только первый способ:
1 / Использование подключаемого модуля Spy
Первый способ - использовать подключаемый модуль Spy.
Нажмите alt - shift - F2 и щелкните элемент меню или кнопку панели инструментов, которую вы хотите скрыть.
Если под заголовком «Идентификатор определения активного действия» есть строка идентификатора, то вам повезло.
Этот элемент был добавлен с помощью расширения команды, и вы можете использовать этот идентификатор в качестве аргумента шаблона для расширения действий.
Но не все элементы, которые были добавлены с помощью Command Extension, предоставляют шпионскому плагину строку своего идентификатора.В качестве примечания, строки идентификаторов разделены точками.
Например, идентификатор кнопки может быть «org.eclipse.ui.navigate.backwardHistory
».
В регулярных выражениях точка используется для обозначения любого символа. К счастью, точка, используемая в качестве подстановочного символа, совпадает с фактическими символами точки, поэтому вам не нужно их экранировать, если вы этого не хотите. Я считаю, что это немного облегчает чтение, если они не экранированы, и очень маловероятно, что это вызовет какие-либо неоднозначные совпадения.