树元素处理不一致,或者我遗漏了一些东西。我没有找到这方面的文档或示例。
TreeView
实现注册元素,由 TreeDataProvider.getChildren()
返回。这些元素得到处理。
TreeView.reveal 不需要注册它的参数。它要求参数具有有效的 id 和 TreeDataProvider.getParent()
以返回具有有效 id 的元素。这工作正常。
但是 TreeDataProvider.onDidChangeTreeData
事件 requires me 使用已注册的元素调用它,即我从 TreeDataProvider.getChildren()
返回的完全相同的元素(带有实现句柄)。因此,我必须自己跟踪已注册的元素。
因此有两种不同的方法来实现 TreeDataProvider
。我不喜欢自己跟踪注册的树元素的想法,因为这已经在实现中完成了,我应该与它同步。