开发eclipse插件时CDT文件夹问题

时间:2016-07-01 08:33:48

标签: java eclipse plugins eclipse-cdt

我已经为我的eclipse插件集成了一个propertytester。 每当我从上下文菜单中选择一个项目时,属性测试器将被激活并检查所选元素的数据类型,例如, IProject IFolder 识别工作完美,直到我安装了CDT插件来进行日食。 现在文件夹似乎表示为类型 org.eclipse.cdt.internal.core.model.CContainer ,它似乎是该文件夹的CDT表示。 有没有办法避免这种转换机制或以编程方式将CDT foldertype org.eclipse.cdt.internal.core.model.CContainer 转换为已知的 IFolder

1 个答案:

答案 0 :(得分:4)

用户界面对象通常具有适应性'资源对象。

所以试试

IFolder folder = (IFolder)Platform.getAdapterManager().getAdapter(object, IFolder.class);

其中object是所选对象。

可能未直接向IFolder提供适配器,因此请尝试适应IResource

在较新版本的Eclipse中,适配器管理器是通用的,因此您不需要演员。

在Eclipse 4.6(Neon)中,您可以使用:

IFolder folder = Adapters.adapt(object, IFolder.class);

还将检查该类是否实现IAdaptable或是IFolder的实例。只有在您只希望代码在Eclipse 4.6(及更高版本)中运行时才使用它。