Eclipse plugin 在eclipse工作区中查找功能的子插件

Eclipse plugin 在eclipse工作区中查找功能的子插件,eclipse-plugin,Eclipse Plugin,我想查找某个功能的所有子插件?我知道该功能的名称,但IWorkspaceRoot.getProject(String)并没有真正帮助我。我得到了一个我不知道如何转换为要素对象(IFeature?)的IProject。也许我走错了路,有更好/更简单的方法来做到这一点。有什么想法吗?您可以通过检查名为org.eclipse.pde.FeatureNature的属性来检查所选的i项目是否为功能项目 然后您可以尝试使用IProject.getAdapter(IFeature.class)调用,将结果强制

我想查找某个功能的所有子插件?我知道该功能的名称,但IWorkspaceRoot.getProject(String)并没有真正帮助我。我得到了一个我不知道如何转换为要素对象(IFeature?)的IProject。也许我走错了路,有更好/更简单的方法来做到这一点。有什么想法吗?

您可以通过检查名为
org.eclipse.pde.FeatureNature
的属性来检查所选的
i项目是否为功能项目

然后您可以尝试使用
IProject.getAdapter(IFeature.class)
调用,将结果强制转换为
IFeature
。我没有在功能项目中尝试过这一点,但在Java项目中效果很好

正确答案是使用PDECore静态类。此类提供了FeatureModelManager,它将提供相应的信息:

FeatureModelManager manager = PDECore.getDefault().getFeatureModelManager();

如何获得这些信息?我使用plug-in spy查找哪个项目定义了“Deployable Features”导出向导(选择向导时使用Alt+Shift+F3),然后查看向导类的实现,其中addPages()方法包含前面描述的代码块。

我知道它适用于java项目。对于功能,它没有。已经试过:)对不起,回答不正确,我看了代码,研究了一个更好的答案。