我正在编写一个 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>
所以我现在正在尝试编写扩展 CompoundContributionItem 的 MenuContribution 类,以便我可以创建动态菜单,并且该菜单的内容将基于Java 项目的根目录中存在的一组文件.但我一直试图从 getcontributionItems 方法中获取根目录的路径.
基于 plugin.xml 文件,我可以保证只有在选择了单个 Java 项目时才会调用该方法,所以我需要做的就是获取当前选择,然后获取其绝对路径.有任何想法吗?或者有更好的方法吗?