#eclipse-plugin
#eclipse-плагин
Вопрос:
Мне нужно добавить элемент в меню, которое открывается, когда я щелкаю правой кнопкой мыши по любому пакету.
то, что я делал до сих пор, добавляло эти строки в plugin.xml:
<objectContribution id="myPlugin.menu" objectClass="org.eclipse.jdt.core.IPackageFragment">
<menu id="myPlugin.menu1" label="My New Item"></menu>
<action
class="myPlugin.rightClickMenu.NewActivityAction"
enablesFor="1"
id="myPlugin.newAction"
label="Create New Activity"
menubarPath="myPlugin.menu1/group1">
</action>
</objectContribution>
короче говоря,
это работает отлично и делает все, что мне нужно.
в меню, которое открывается, когда я щелкаю правой кнопкой мыши по пакету, отображается «Мой новый элемент».
не работает, когда я нажимаю какие-либо другие папки, файлы или проект, очень хорошо.
но,
это устарело…
Я нашел другой способ сделать это:
<menuContribution locationURI="popup:org.eclipse.jdt.ui.PackageExplorer?before=additions">
<separator name="separetor1" visible="true"></separator>
<command commandId="openMyMenu"
label="My New Item" style="push">
</command>
</menuContribution>
<command defaultHandler="myPlugin.rightClickMenu.NewActivityAction"
id="openMyMenu" name="createActivity">
</command>
это не устарело,
но это показывает мне «Мой новый элемент» в меню всегда, независимо от того, что я щелкаю правой кнопкой мыши.
даже для меню системной библиотеки JRE.
кто-нибудь может мне помочь?
Спасибо!
Ответ №1:
Вам нужно использовать visibleWhen
элемент в вашей команде в menuContribution:
<command commandId="openMyMenu"
label="My New Item" style="push">
<visibleWhen>
<iterate
ifEmpty="false"
operator="or">
<adapt
type="org.eclipse.jdt.core.IPackageFragment">
</adapt>
</iterate>
</visibleWhen>
</command>
Комментарии:
1. есть ли способ добавить мой пункт меню в: щелкните правой кнопкой мыши -> Новое меню?
2. Используйте точку
org.eclipse.ui.newWizards
расширения для добавления в новое меню. Не забудьте принять ответы, которые решают вашу проблему (нажмите галочку).3. Я знаю, как добавить новых мастеров в «Файл-> Создать-> Проект». мой вопрос: возможно ли добавить элемент в меню правой кнопки мыши (только над пакетами), и тогда мой элемент будет там?