Добавить всплывающее действие для проектов Java в плагине Eclipse - PullRequest
2 голосов
/ 24 декабря 2011

Я хочу добавить всплывающий элемент для проектов Java в мой плагин Eclipse.Мой plugin.xml содержит:

<extension point="org.eclipse.ui.popupMenus">
  <objectContribution
        objectClass="org.eclipse.jdt.core.IJavaProject"
        id="com.contribution1">
     <action
           label="Action"
           class="com.actions.NewAction"
           enablesFor="1"
           id="com.actions.newAction">
     </action>
  </objectContribution>

Однако этот пункт меню не отображается во всплывающем окне.Если я использую IPackageFragment вместо этого, пункт меню показывает просто отлично.Пожалуйста, сообщите.

Ответы [ 2 ]

1 голос
/ 29 декабря 2011

Хорошо, проблема в том, что проект Java считается IJavaProject только в перспективе Java, а экземпляр Eclipse, используемый для тестирования плагина, начинается с перспективы Resources. Если я переключаюсь на перспективу Java, все работает как положено.

0 голосов
/ 14 августа 2014

Если вы хотите отобразить свое меню в другом проводнике (например, в обозревателе проектов перспективы Ресурса), вам придется изменить определение objectContribution следующим образом:

  1. Установите для свойства objectclass значение org.eclipse.core.resources.IProject .

  2. Добавить элемент visibility для фильтрации вашего меню / действий для проектов, которые НЕ имеют Java-природу .

т.е:

<objectContribution
      adaptable="true"
      objectClass="org.eclipse.core.resources.IProject">
...
   <visibility>
      <objectState
            name="projectNature"
            value="org.eclipse.jdt.core.javanature">
      </objectState>
   </visibility>
</objectContribution>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...