我想找一个功能的所有子插件?我知道该功能的名称,但IWorkspaceRoot.getProject(String)并没有真正帮助我。我得到了一个我不知道如何转换为特征对象的IProject(IFeature?)。也许我在错误的轨道上,有一个更好/更简单的方法来做到这一点。有什么想法吗?
答案 0 :(得分:0)
您可以通过检查名为 IProject
的性质来检查选定的org.eclipse.pde.FeatureNature
是否为要素项目。
然后您可以尝试使用 IProject.getAdapter(IFeature.class)
调用,将结果转换为IFeature
。我没有尝试使用功能项目,但适用于Java项目。
正确的答案是使用PDECore静态类。该类提供了一个FeatureModelManager,它将提供相应的信息:
FeatureModelManager manager = PDECore.getDefault().getFeatureModelManager();
如何获取此信息?我查看了插件间谍,找到哪个项目定义了“可部署功能”导出向导(选择向导时使用Alt + Shift + F3),然后查看向导类的实现,其中addPages() method包含前面描述的代码块。