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