Плагин Eclipse: как получить путь к текущему выбранному проекту

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

<plugin>
   <extension
         point="org.eclipse.ui.menus">
      <menuContribution
            locationURI="popup:org.eclipse.jdt.ui.PackageExplorer">
         <dynamic
               class="uk.co.dajohnston.plugin.classpathswitcher.menu.MenuContribution"
               id="uk.co.dajohnston.plugin.classpathSwitcher.switchMenuContribution">
            <visibleWhen>
               <with
                     variable="activeMenuSelection">
                  <iterate>
                     <adapt
                           type="org.eclipse.jdt.core.IJavaProject">
                     </adapt>
                  </iterate>
                  <count
                        value="1">
                  </count>
               </with>
            </visibleWhen>
         </dynamic>
      </menuContribution>
   </extension>

</plugin>

Итак, теперь я пытаюсь написать класс MenuContribution , который расширяет CompoundContributionItem , чтобы я мог создать динамическое меню и содержимое этого меню будет основан на наборе файлов, которые существуют в корневом каталоге проекта Java. Но я застрял, пытаясь получить путь к корневому каталогу из метода getContributionItems .

На основе плагина .xml файла Я могу быть уверен, что метод будет вызываться только в том случае, если выбран один проект Java, поэтому все, что мне нужно сделать, это получить текущий выбор, а затем получить его абсолютный путь. Любые идеи? Или есть лучший способ сделать это?

11
задан Lii 26 May 2017 в 15:49
поделиться