diff --git a/src/vs/workbench/contrib/views/browser/treeView.ts b/src/vs/workbench/contrib/views/browser/treeView.ts index c18c4d293f8be83e20983a482a121dbe7c1e762b..93751bcebadd4b687c25167d45c7e6b2c7def91c 100644 --- a/src/vs/workbench/contrib/views/browser/treeView.ts +++ b/src/vs/workbench/contrib/views/browser/treeView.ts @@ -164,6 +164,7 @@ export class TreeView extends Disposable implements ITreeView { } if (dataProvider) { + const self = this; this._dataProvider = new class implements ITreeViewDataProvider { private _isEmpty: boolean = true; private _onDidChangeEmpty: Emitter = new Emitter(); @@ -173,11 +174,12 @@ export class TreeView extends Disposable implements ITreeView { return this._isEmpty; } - async getChildren(node: ITreeItem): Promise { + async getChildren(node?: ITreeItem): Promise { let children: ITreeItem[]; if (node && node.children) { children = node.children; } else { + node = node ?? self.root; children = await (node instanceof Root ? dataProvider.getChildren() : dataProvider.getChildren(node)); node.children = children; }