remove project feature (#12297)

* remove project feature

* update test
This commit is contained in:
Alan Ren
2020-09-15 11:12:30 -07:00
committed by GitHub
parent 725e1b2ee3
commit 908a15d6a8
12 changed files with 104 additions and 4 deletions

View File

@@ -58,6 +58,17 @@ export interface IWorkspaceService {
* @param projectFiles the list of project files to be added, the project file should be absolute path.
*/
addProjectsToWorkspace(projectFiles: vscode.Uri[]): Promise<void>;
/**
* Remove the project from workspace
* @param projectFile The project file to be removed
*/
removeProject(projectFile: vscode.Uri): Promise<void>;
/**
* Event fires when projects in workspace changes
*/
readonly onDidWorkspaceProjectsChange: vscode.Event<void>;
}
/**

View File

@@ -11,7 +11,11 @@ import { UnknownProjectsErrorMessage } from './constants';
* Tree data provider for the workspace main view
*/
export class WorkspaceTreeDataProvider implements vscode.TreeDataProvider<WorkspaceTreeItem>{
constructor(private _workspaceService: IWorkspaceService) { }
constructor(private _workspaceService: IWorkspaceService) {
this._workspaceService.onDidWorkspaceProjectsChange(() => {
this.refresh();
});
}
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;