Package Explorer ビューのコンテンツ全体が Common Navigator Framework を介して公開されているようです。
どうすればこのデータにアクセスできますか? その中のすべてのプロジェクト、ファイル、およびメソッドの名前を確認したい。私が得た最も近いものは次のとおりです。
INavigatorContentService n = NavigatorContentServiceFactory.INSTANCE.createContentService(SampleView.ID);
ITreeContentProvider tcp = n.createCommonContentProvider();
Object[] els = tcp.getElements(new Object());
しかし、おそらく getElements に何を渡せばよいかわからないため、els は空です。
いくつかの興味深いデバッグ: デバッガーを使用して getElements 呼び出しに飛び込むと、findRootContentExtensions が有望に見える NavigatorContentDescriptor の束を見つけたように見えますが、isActive および isRootExtension チェックに失敗したため、それらは返されません。次に、返される他のものを見つけようとしますが、渡されたオブジェクトを考慮して、機能しません。何が起こっているのかわかりません。
私が見つけたすべてのドキュメントは、CNF を使用して新しいビューを追加することに焦点を当てていますが、ワークスペースの既存の内容を見ていません。これに関する適切なドキュメントはありますか? ありがとう!