Можно ли скрывать / удалять произвольные пункты контекстного меню в Eclipse (3.6)
Мой вопрос можно разделить на три части:
Можно ли скрыть / удалить произвольные пункты контекстного меню в Eclipse (3.6) с помощью...
- стандартный интерфейс?
- какой-нибудь существующий плагин?
- пользовательский плагин?
Мне не удалось найти способы сделать это с помощью методов 1 и 2. Если единственным вариантом является создание собственного плагина, может ли кто-нибудь подтолкнуть меня в правильном направлении, с чего начать (у меня есть некоторый опыт работы с Java, но не с плагином Eclipse). модули).
1 ответ
Вы можете скрыть меню или пункты меню через стандартный графический интерфейс: см. Справку
Чтобы скрыть пункт меню или кнопку панели инструментов:
- Переключитесь на перспективу, которую вы хотите настроить.
- Выбрать
Window > Customize Perspective....
- Откройте вкладку Видимость меню или Видимость панели инструментов.
- Найдите предмет, который вы хотите скрыть.
- Снимите флажок рядом с элементом. Снимите флажок с меню, чтобы скрыть всех его детей.
- Нажмите кнопку ОК, чтобы изменения вступили в силу.
Но это скроет эту запись от всех меню (контекстное или нет), в котором она присутствует.
Так что это может быть не так детально, как вы хотите через графический интерфейс.
Вы также можете попробовать это через плагин (см. Также вклад в Меню)
Первые шаги довольно стандартны для использования расширений в Eclipse.
- Открой
plugin.xml
файл и добавитьorg.eclipse.ui.activities extension
,- Затем создайте узел активности и присвойте ему уникальный идентификатор.
- Затем создайте
activityPatternBinding
узел и используйте уникальный идентификатор для действия, чтобы найти узел шаблона для узла действия.
activityPatternBinding
узел требует, чтобы вы указали регулярное выражение для строки идентификатора элемента пользовательского интерфейса, который вы хотите скрыть.Проблема заключается в том, что существует как минимум 3 способа добавления элементов меню и кнопок панели инструментов в пользовательский интерфейс.
- Первый способ - через новые расширения команд / меню.
- Второй путь - через старое расширение ActionSets.
- Кроме того, существуют другие элементы пользовательского интерфейса, которые, по-видимому, жестко запрограммированы в Workbench, не имеют строк идентификаторов и не могут быть скрыты с помощью расширения операций. К счастью, этого третьего элемента пользовательского интерфейса немного.
Учитывая, что вы говорите о последней версии Eclipse, я скопирую только первый способ:
1 / Используйте Plug-In Spy
Первый способ - использовать Plug-In Spy.
Нажмите alt-shift-F2 и нажмите на элемент меню или кнопку панели инструментов, которую вы хотите скрыть.
Если под заголовком "идентификатор определения активного действия" есть строка идентификатора, то вам повезло.
Этот элемент был добавлен с использованием расширения команды, и вы можете использовать этот идентификатор в качестве аргумента шаблона для расширения деятельности.
Но не все элементы, которые были добавлены с использованием расширения команды, представляют строку идентификатора шпиону плагина.Как примечание, строки идентификаторов разделены точкой.
Например, идентификатор кнопки может быть "org.eclipse.ui.navigate.backwardHistory
".
Регулярные выражения используют точку для обозначения любого символа. К счастью, точка, используемая в качестве символа подстановки, совпадает с действительными символами периода, поэтому вам не нужно избегать их, если вы не хотите. Я считаю, что это немного облегчает чтение, если их не экранировать, и маловероятно, что это приведет к неоднозначным совпадениям.