Действительно ли возможно скрыться/удалить произвольные объекты контекстного меню в Eclipse (3.6)

Мой вопрос может быть разделен на три:

Действительно ли возможно скрыться/удалить произвольные объекты контекстного меню в Eclipse (3.6)...

  1. стандартный UI?
  2. некоторый существующий плагин?
  3. пользовательский плагин?

Мне не удалось найти способы сделать это методами 1 и 2. Если единственная опция создает пользовательский плагин, мог любой продвигать меня к правильному направлению, где запустить (у меня есть некоторый опыт в Java, но не в плагинах Eclipse).

20
задан krock 14 August 2010 в 06:37
поделиться

1 ответ

Вы можете скрыть меню или пункты меню через стандартный графический интерфейс: см. Справку

Чтобы скрыть пункт меню или кнопку панели инструментов:

  • Переключитесь на перспективу, которую вы хотите настроить.
  • Выберите Окно> Настроить перспективу ....
  • Откройте вкладку «Видимость меню» или «Видимость панели инструментов».
  • Найдите предмет, который хотите скрыть.
  • Снимите флажок рядом с элементом. Снимите флажок с меню, чтобы скрыть всех его дочерних элементов.
  • Щелкните OK, чтобы изменения вступили в силу.

Но это скроет эту запись из всех меню (контекстных или нет), в которых она присутствует.
Так что это может быть не так детально, как хотелось бы, через графический интерфейс.


Вы также можете попробовать через плагин (см. Также Вклад меню )

Первые шаги довольно стандартны для использования расширений в Eclipse.

  • Откройте файл plugin.xml и добавьте расширение org.eclipse.ui.activities .
  • Затем создайте узел активности и присвойте ему уникальный идентификатор.
  • Затем создайте узел activityPatternBinding и используйте уникальный идентификатор для действия, чтобы найти узел шаблона для узла действия.
    Узел activityPatternBinding требует, чтобы вы предоставили регулярное выражение для строки идентификатора элемента пользовательского интерфейса, который вы хотите скрыть.

Проблема в том, что существует как минимум 3 способа добавления пунктов меню и кнопок панели инструментов в пользовательский интерфейс.

  • Первый способ - через новые расширения команд / меню.
  • Второй способ - через более старое расширение ActionSets.
  • Кроме того, существуют другие элементы пользовательского интерфейса, которые кажутся жестко закодированными в Workbench, не имеют строк идентификатора и не могут быть скрыты с помощью расширения Activity. К счастью, есть несколько элементов пользовательского интерфейса третьего типа.

Учитывая, что вы говорите о последней версии Eclipse, я скопирую только первый способ:

1 / Использование подключаемого модуля Spy

Первый способ - использовать подключаемый модуль Spy.
Нажмите alt - shift - F2 и щелкните элемент меню или кнопку панели инструментов, которую вы хотите скрыть.
Если под заголовком «Идентификатор определения активного действия» есть строка идентификатора, то вам повезло.
Этот элемент был добавлен с помощью расширения команды, и вы можете использовать этот идентификатор в качестве аргумента шаблона для расширения действий.
Но не все элементы, которые были добавлены с помощью Command Extension, предоставляют шпионскому плагину строку своего идентификатора.

В качестве примечания, строки идентификаторов разделены точками.
Например, идентификатор кнопки может быть « org.eclipse.ui.navigate.backwardHistory ».
В регулярных выражениях точка используется для обозначения любого символа. К счастью, точка, используемая в качестве подстановочного символа, совпадает с фактическими символами точки, поэтому вам не нужно их экранировать, если вы этого не хотите. Я считаю, что это немного облегчает чтение, если они не экранированы, и очень маловероятно, что это вызовет какие-либо неоднозначные совпадения.

20
ответ дан 30 November 2019 в 01:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: