添加新项目时vsCode刷新树

时间:2020-03-25 13:35:23

标签: javascript node.js typescript vscode-extensions vscode-tasks

我使用以下代码显示树项,

https://github.com/microsoft/vscode-extension-samples/tree/master/tree-view-sample

树中显示的项目与文件有关,如果文件更改,则树项目的数量应相应地更改(使用'post_status' => 'inherit' 可以正常工作),当前我已经添加了代码文件观察程序的视图,并在调试时将其停在那里(当我更改文件时在createFileSystemWatcher函数上),我看到我已经提供了 newupdated 条目(在代码中),但是没有用新数据刷新树,知道我在这里缺少什么吗?不知何故,新的更新数据不会反映在树中。当我刚接触这个话题时,我可能会错过一些东西。如果代码正常且存在错误或不支持此错误,请告诉我。

getChildren

如果有什么遗漏,请告诉我,我补充说,我真的很坚持。

如果还有另一种刷新树的方法,请告诉我

1 个答案:

答案 0 :(得分:1)

构造函数的最后一行对我来说可疑。

fileWatcher.onDidChange(() => (this.eeake = this.getChildren()), this.refresh());

我相信你的意思是:

fileWatcher.onDidChange(() => {
  this.eeake = this.getChildren();
  this.refresh();
});

您的原始代码实际上立即在构造函数中调用this.refresh()并将返回值作为 2nd arg 传递给fileWatcher.onDidChange()this.refresh()不是作为第一个参数传递给onDidChange()的侦听器的一部分。