mirror of
https://github.com/ckaczor/azuredatastudio.git
synced 2026-02-16 18:46:40 -05:00
Merge from vscode fb5dc0083bfa9a0e3da7ed1f86e1ecb9836fcc8b
This commit is contained in:
@@ -33,7 +33,6 @@ import { WorkspaceService } from 'vs/workbench/services/configuration/browser/co
|
||||
import { ConfigurationCache } from 'vs/workbench/services/configuration/browser/configurationCache';
|
||||
import { ISignService } from 'vs/platform/sign/common/sign';
|
||||
import { SignService } from 'vs/platform/sign/browser/signService';
|
||||
import { hash } from 'vs/base/common/hash';
|
||||
import { IWorkbenchConstructionOptions, IWorkspace } from 'vs/workbench/workbench.web.api';
|
||||
import { FileUserDataProvider } from 'vs/workbench/services/userData/common/fileUserDataProvider';
|
||||
import { BACKUPS } from 'vs/platform/environment/common/environment';
|
||||
@@ -51,6 +50,7 @@ import { isWorkspaceToOpen, isFolderToOpen } from 'vs/platform/windows/common/wi
|
||||
import { getWorkspaceIdentifier } from 'vs/workbench/services/workspaces/browser/workspaces';
|
||||
import { coalesce } from 'vs/base/common/arrays';
|
||||
import { InMemoryFileSystemProvider } from 'vs/platform/files/common/inMemoryFilesystemProvider';
|
||||
import { WebResourceIdentityService, IResourceIdentityService } from 'vs/platform/resource/common/resourceIdentityService';
|
||||
|
||||
class BrowserMain extends Disposable {
|
||||
|
||||
@@ -157,7 +157,11 @@ class BrowserMain extends Disposable {
|
||||
const logService = new BufferLogService(this.configuration.logLevel);
|
||||
serviceCollection.set(ILogService, logService);
|
||||
|
||||
const payload = this.resolveWorkspaceInitializationPayload();
|
||||
// Resource Identity
|
||||
const resourceIdentityService = this._register(new WebResourceIdentityService());
|
||||
serviceCollection.set(IResourceIdentityService, resourceIdentityService);
|
||||
|
||||
const payload = await this.resolveWorkspaceInitializationPayload(resourceIdentityService);
|
||||
|
||||
// Environment
|
||||
const environmentService = new BrowserWorkbenchEnvironmentService({ workspaceId: payload.id, logsPath, ...this.configuration });
|
||||
@@ -292,7 +296,7 @@ class BrowserMain extends Disposable {
|
||||
}
|
||||
}
|
||||
|
||||
private resolveWorkspaceInitializationPayload(): IWorkspaceInitializationPayload {
|
||||
private async resolveWorkspaceInitializationPayload(resourceIdentityService: IResourceIdentityService): Promise<IWorkspaceInitializationPayload> {
|
||||
let workspace: IWorkspace | undefined = undefined;
|
||||
if (this.configuration.workspaceProvider) {
|
||||
workspace = this.configuration.workspaceProvider.workspace;
|
||||
@@ -305,7 +309,8 @@ class BrowserMain extends Disposable {
|
||||
|
||||
// Single-folder workspace
|
||||
if (workspace && isFolderToOpen(workspace)) {
|
||||
return { id: hash(workspace.folderUri.toString()).toString(16), folder: workspace.folderUri };
|
||||
const id = await resourceIdentityService.resolveResourceIdentity(workspace.folderUri);
|
||||
return { id, folder: workspace.folderUri };
|
||||
}
|
||||
|
||||
return { id: 'empty-window' };
|
||||
|
||||
Reference in New Issue
Block a user