Я очень долго работал над ответами здесь и множеством других ответов и обнаружил, что наконец-то у меня появилось то, что я должен был сделать цикл Java Reflection для изучения структуры класса и интерфейса выбора из дерева в дереве. навигатор. Цикл интроспекции класса находится в своем последнем месте покоя, но изначально был намного ближе к вершине метода execute.

у плагин 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 метод.

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

Ответы на вопрос(3)

Ваш ответ на вопрос