听起来,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添加新视图,而不是查看工作区的现有内容。这有什么好的文件吗?谢谢!