Я пишу подключаемый модуль 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, поэтому все, что мне нужно сделать, это получить текущий выбор, а затем получить его абсолютный путь. Любые идеи? Или есть лучший способ сделать это?