Corrects workspace project tree refresh behavior for adding new projects to the workspace (#16650)

* bugfix and updates

* PR feedback

* Deferred promise for project disk scan

* fix casing

* fixing race condition on extension activation, test failure
This commit is contained in:
Benjin Dubishar
2021-08-11 09:11:00 -07:00
committed by GitHub
parent 998c838d8f
commit d0bcba4cc0
12 changed files with 134 additions and 65 deletions

View File

@@ -23,7 +23,8 @@ export class WorkspaceTreeDataProvider implements vscode.TreeDataProvider<Worksp
private _onDidChangeTreeData: vscode.EventEmitter<void | WorkspaceTreeItem | null | undefined> | undefined = new vscode.EventEmitter<WorkspaceTreeItem | undefined | void>();
readonly onDidChangeTreeData?: vscode.Event<void | WorkspaceTreeItem | null | undefined> | undefined = this._onDidChangeTreeData?.event;
refresh(): void {
async refresh(): Promise<void> {
await this._workspaceService.getProjectsInWorkspace(undefined, true);
this._onDidChangeTreeData?.fire();
}
@@ -38,7 +39,7 @@ export class WorkspaceTreeDataProvider implements vscode.TreeDataProvider<Worksp
}
else {
// if the element is undefined return the project tree items
const projects = await this._workspaceService.getProjectsInWorkspace();
const projects = await this._workspaceService.getProjectsInWorkspace(undefined, false);
await vscode.commands.executeCommand('setContext', 'isProjectsViewEmpty', projects.length === 0);
const unknownProjects: string[] = [];
const treeItems: WorkspaceTreeItem[] = [];