Fix how data workspace handles untitled workspaces (#14505)

* add more workspace apis

* update dialog and check workspace scheme

* cleanup

* add comment

* update create project from db dialog

* cleanup

* update names

* add test
This commit is contained in:
Kim Santiago
2021-03-03 15:31:21 -08:00
committed by GitHub
parent 6ecacd6faa
commit 42fba14d88
12 changed files with 100 additions and 32 deletions

View File

@@ -17,11 +17,15 @@ export class ExtHostWorkspace implements ExtHostWorkspaceShape {
this._proxy = _mainContext.getProxy(SqlMainContext.MainThreadWorkspace);
}
$createWorkspace(folder: URI, workspaceFile: URI): Promise<void> {
return this._proxy.$createWorkspace(folder, workspaceFile);
$createAndEnterWorkspace(folder: URI, workspaceFile: URI): Promise<void> {
return this._proxy.$createAndEnterWorkspace(folder, workspaceFile);
}
$enterWorkspace(workspaceFile: URI): Promise<void> {
return this._proxy.$enterWorkspace(workspaceFile);
}
$saveAndEnterWorkspace(workspaceFile: URI): Promise<void> {
return this._proxy.$saveAndEnterWorkspace(workspaceFile);
}
}

View File

@@ -467,11 +467,14 @@ export function createAdsApiFactory(accessor: ServicesAccessor): IAdsExtensionAp
createModelViewEditor(title: string, options?: azdata.ModelViewEditorOptions, name?: string): azdata.workspace.ModelViewEditor {
return extHostModelViewDialog.createModelViewEditor(title, extension, name, options);
},
createWorkspace(location: vscode.Uri, workspaceFile: vscode.Uri): Promise<void> {
return extHostWorkspace.$createWorkspace(location, workspaceFile);
createAndEnterWorkspace(location: vscode.Uri, workspaceFile: vscode.Uri): Promise<void> {
return extHostWorkspace.$createAndEnterWorkspace(location, workspaceFile);
},
enterWorkspace(workspaceFile: vscode.Uri): Promise<void> {
return extHostWorkspace.$enterWorkspace(workspaceFile);
},
saveAndEnterWorkspace(workspaceFile: vscode.Uri): Promise<void> {
return extHostWorkspace.$saveAndEnterWorkspace(workspaceFile);
}
};

View File

@@ -759,13 +759,15 @@ export interface ExtHostBackgroundTaskManagementShape {
}
export interface ExtHostWorkspaceShape {
$createWorkspace(folder: vscode.Uri, workspaceFile: vscode.Uri): Promise<void>;
$createAndEnterWorkspace(folder: vscode.Uri, workspaceFile: vscode.Uri): Promise<void>;
$enterWorkspace(workspaceFile: vscode.Uri): Promise<void>;
$saveAndEnterWorkspace(workspaceFile: vscode.Uri): Promise<void>;
}
export interface MainThreadWorkspaceShape {
$createWorkspace(folder: vscode.Uri, workspaceFile: vscode.Uri): Promise<void>;
$createAndEnterWorkspace(folder: vscode.Uri, workspaceFile: vscode.Uri): Promise<void>;
$enterWorkspace(workspaceFile: vscode.Uri): Promise<void>;
$saveAndEnterWorkspace(workspaceFile: vscode.Uri): Promise<void>;
}
export interface MainThreadBackgroundTaskManagementShape extends IDisposable {