0

听起来 Package Explorer 视图的全部内容都是通过 Common Navigator Framework 公开的。

我怎样才能访问这些数据?我想查看其中所有项目、文件和方法的名称。我得到的最接近的是:

INavigatorContentService n = NavigatorContentServiceFactory.INSTANCE.createContentService(SampleView.ID);
ITreeContentProvider tcp = n.createCommonContentProvider();
Object[] els = tcp.getElements(new Object());

但 els 是空的,可能是因为我不知道将什么传递给 getElements。

一些有趣的调试:当我使用调试器深入 getElements 调用时,看起来 findRootContentExtensions 找到了一堆看起来很有希望的 NavigatorContentDescriptor,但随后它们没有返回,因为它们未通过 isActive 和 isRootExtension 检查。然后它继续尝试找到其他要返回的东西,但它考虑到我传入的对象,并继续不起作用。我不知道发生了什么事。

我发现的所有文档都侧重于使用 CNF 添加新视图,而不是查看工作区的现有内容。有什么好的文档吗?谢谢!

4

0 回答 0