diff --git a/src/vs/code/electron-main/window.ts b/src/vs/code/electron-main/window.ts index b4ded396bc9b057c7ac1e7b7f3348a6f6ecdea34..433f2ac9382e788ec4aa4198739c5c8a9e04adfd 100644 --- a/src/vs/code/electron-main/window.ts +++ b/src/vs/code/electron-main/window.ts @@ -24,7 +24,7 @@ import { IDisposable, dispose } from 'vs/base/common/lifecycle'; import { KeyboardLayoutMonitor } from 'vs/code/electron-main/keyboard'; import { isLinux, isMacintosh, isWindows } from 'vs/base/common/platform'; import { ICodeWindow } from "vs/platform/windows/electron-main/windows"; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export interface IWindowState { width?: number; @@ -265,7 +265,7 @@ export class CodeWindow implements ICodeWindow { return this.currentConfig ? this.currentConfig.backupPath : void 0; } - public get openedWorkspace(): IWorkspace { + public get openedWorkspace(): IWorkspaceIdentifier { return this.currentConfig ? this.currentConfig.workspace : void 0; } diff --git a/src/vs/code/electron-main/windows.ts b/src/vs/code/electron-main/windows.ts index 6c537a5027f6ccd7607677ae8a0a6bf340479d71..173f0b50f772ae3a10724b9e60b8a3fa4157d948 100644 --- a/src/vs/code/electron-main/windows.ts +++ b/src/vs/code/electron-main/windows.ts @@ -29,7 +29,7 @@ import { IWindowsMainService, IOpenConfiguration } from "vs/platform/windows/ele import { IHistoryMainService } from "vs/platform/history/electron-main/historyMainService"; import { IProcessEnvironment, isLinux, isMacintosh, isWindows } from 'vs/base/common/platform'; import { TPromise } from "vs/base/common/winjs.base"; -import { IWorkspacesMainService, IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspacesMainService, IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; enum WindowError { UNRESPONSIVE, @@ -45,7 +45,7 @@ interface ILegacyWindowState extends IWindowState { } interface IWindowState { - workspace?: IWorkspace; + workspace?: IWorkspaceIdentifier; folderPath?: string; backupPath: string; uiState: ISingleWindowState; @@ -67,7 +67,7 @@ interface IOpenBrowserWindowOptions { userEnv?: IProcessEnvironment; cli?: ParsedArgs; - workspace?: IWorkspace; + workspace?: IWorkspaceIdentifier; folderPath?: string; initialStartup?: boolean; @@ -85,7 +85,7 @@ interface IOpenBrowserWindowOptions { interface IWindowToOpen extends IPath { // the workspace for a Code instance to open - workspace?: IWorkspace; + workspace?: IWorkspaceIdentifier; // the folder path for a Code instance to open folderPath?: string; @@ -373,8 +373,8 @@ export class WindowsManager implements IWindowsMainService { private doOpen( openConfig: IOpenConfiguration, - workspacesToOpen: IWorkspace[], - workspacesToRestore: IWorkspace[], + workspacesToOpen: IWorkspaceIdentifier[], + workspacesToRestore: IWorkspaceIdentifier[], foldersToOpen: string[], foldersToRestore: string[], emptyToRestore: string[], diff --git a/src/vs/code/node/windowsFinder.ts b/src/vs/code/node/windowsFinder.ts index 5b08b76aab80370e35bc8674233f5ee0b691b6d6..588a42f6c0e1645b19cfa623948b56fe821fb4e6 100644 --- a/src/vs/code/node/windowsFinder.ts +++ b/src/vs/code/node/windowsFinder.ts @@ -10,10 +10,10 @@ import * as fs from 'fs'; import * as platform from 'vs/base/common/platform'; import * as paths from 'vs/base/common/paths'; import { OpenContext } from 'vs/platform/windows/common/windows'; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export interface ISimpleWindow { - openedWorkspace?: IWorkspace; + openedWorkspace?: IWorkspaceIdentifier; openedFolderPath?: string; openedFilePath?: string; extensionDevelopmentPath?: string; @@ -127,7 +127,7 @@ export function findWindowOnFolder(windows: W[], folder return null; } -export function findWindowOnWorkspace(windows: W[], workspace: IWorkspace): W { +export function findWindowOnWorkspace(windows: W[], workspace: IWorkspaceIdentifier): W { if (windows.length) { const res = windows.filter(w => { diff --git a/src/vs/platform/backup/common/backup.ts b/src/vs/platform/backup/common/backup.ts index 8cac70ab77be52d0b3ff9c019b9b8b12a5a91967..622e52b1ad424de492ed2ac56b32b3bf984d61c3 100644 --- a/src/vs/platform/backup/common/backup.ts +++ b/src/vs/platform/backup/common/backup.ts @@ -4,10 +4,10 @@ *--------------------------------------------------------------------------------------------*/ import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export interface IBackupWorkspacesFormat { - rootWorkspaces: IWorkspace[]; + rootWorkspaces: IWorkspaceIdentifier[]; folderWorkspaces: string[]; emptyWorkspaces: string[]; } @@ -17,11 +17,11 @@ export const IBackupMainService = createDecorator('backupMai export interface IBackupMainService { _serviceBrand: any; - getWorkspaceBackups(): IWorkspace[]; + getWorkspaceBackups(): IWorkspaceIdentifier[]; getFolderBackupPaths(): string[]; getEmptyWindowBackupPaths(): string[]; - registerWorkspaceBackupSync(workspace: IWorkspace): string; + registerWorkspaceBackupSync(workspace: IWorkspaceIdentifier): string; registerFolderBackupSync(folderPath: string): string; registerEmptyWindowBackupSync(backupFolder?: string): string; } \ No newline at end of file diff --git a/src/vs/platform/backup/electron-main/backupMainService.ts b/src/vs/platform/backup/electron-main/backupMainService.ts index c84e5487b017aa70807314ad522607a9e79dc359..5df46f0ff62caa7015e2531ae773501abb5961ca 100644 --- a/src/vs/platform/backup/electron-main/backupMainService.ts +++ b/src/vs/platform/backup/electron-main/backupMainService.ts @@ -14,7 +14,7 @@ import { IEnvironmentService } from 'vs/platform/environment/common/environment' import { IConfigurationService } from 'vs/platform/configuration/common/configuration'; import { IFilesConfiguration, HotExitConfiguration } from 'vs/platform/files/common/files'; import { ILogService } from "vs/platform/log/common/log"; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export class BackupMainService implements IBackupMainService { @@ -36,7 +36,7 @@ export class BackupMainService implements IBackupMainService { this.loadSync(); } - public getWorkspaceBackups(): IWorkspace[] { + public getWorkspaceBackups(): IWorkspaceIdentifier[] { if (this.isHotExitOnExitAndWindowClose()) { // Only non-folder windows are restored on main process launch when // hot exit is configured as onExitAndWindowClose. @@ -64,7 +64,7 @@ export class BackupMainService implements IBackupMainService { return this.backups.emptyWorkspaces.slice(0); // return a copy } - public registerWorkspaceBackupSync(workspace: IWorkspace): string { + public registerWorkspaceBackupSync(workspace: IWorkspaceIdentifier): string { this.pushBackupPathsSync(workspace, this.backups.rootWorkspaces); return path.join(this.backupHome, workspace.id); @@ -88,14 +88,14 @@ export class BackupMainService implements IBackupMainService { return path.join(this.backupHome, backupFolder); } - private pushBackupPathsSync(workspaceIdentifier: string | IWorkspace, target: (string | IWorkspace)[]): void { + private pushBackupPathsSync(workspaceIdentifier: string | IWorkspaceIdentifier, target: (string | IWorkspaceIdentifier)[]): void { if (this.indexOf(workspaceIdentifier, target) === -1) { target.push(workspaceIdentifier); this.saveSync(); } } - protected removeBackupPathSync(workspaceIdentifier: string | IWorkspace, target: (string | IWorkspace)[]): void { + protected removeBackupPathSync(workspaceIdentifier: string | IWorkspaceIdentifier, target: (string | IWorkspaceIdentifier)[]): void { if (!target) { return; } @@ -107,7 +107,7 @@ export class BackupMainService implements IBackupMainService { this.saveSync(); } - private indexOf(workspaceIdentifier: string | IWorkspace, target: (string | IWorkspace)[]): number { + private indexOf(workspaceIdentifier: string | IWorkspaceIdentifier, target: (string | IWorkspaceIdentifier)[]): number { if (!target) { return -1; } @@ -117,7 +117,7 @@ export class BackupMainService implements IBackupMainService { return arrays.firstIndex(target, id => this.sanitizeId(id) === sanitizedWorkspaceIdentifier); } - private sanitizeId(workspaceIdentifier: string | IWorkspace): string { + private sanitizeId(workspaceIdentifier: string | IWorkspaceIdentifier): string { if (typeof workspaceIdentifier === 'string') { return this.sanitizePath(workspaceIdentifier); } @@ -180,9 +180,9 @@ export class BackupMainService implements IBackupMainService { } private validateBackupWorkspaces(backups: IBackupWorkspacesFormat): void { - const staleBackupWorkspaces: { workspaceIdentifier: string | IWorkspace; backupPath: string; target: (string | IWorkspace)[] }[] = []; + const staleBackupWorkspaces: { workspaceIdentifier: string | IWorkspaceIdentifier; backupPath: string; target: (string | IWorkspaceIdentifier)[] }[] = []; - const workspaceAndFolders: { workspaceIdentifier: string | IWorkspace, target: (string | IWorkspace)[] }[] = []; + const workspaceAndFolders: { workspaceIdentifier: string | IWorkspaceIdentifier, target: (string | IWorkspaceIdentifier)[] }[] = []; workspaceAndFolders.push(...backups.rootWorkspaces.map(r => ({ workspaceIdentifier: r, target: backups.rootWorkspaces }))); workspaceAndFolders.push(...backups.folderWorkspaces.map(f => ({ workspaceIdentifier: f, target: backups.folderWorkspaces }))); diff --git a/src/vs/platform/backup/test/electron-main/backupMainService.test.ts b/src/vs/platform/backup/test/electron-main/backupMainService.test.ts index 366756950231ccb8356b3818e4697dbdc77e934f..f938831e197b2f9eae946f4a1202efe3571cc19a 100644 --- a/src/vs/platform/backup/test/electron-main/backupMainService.test.ts +++ b/src/vs/platform/backup/test/electron-main/backupMainService.test.ts @@ -20,7 +20,7 @@ import { IBackupWorkspacesFormat } from 'vs/platform/backup/common/backup'; import { HotExitConfiguration } from 'vs/platform/files/common/files'; import { TestConfigurationService } from 'vs/platform/configuration/test/common/testConfigurationService'; import { LogMainService } from "vs/platform/log/common/log"; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; import { createHash } from "crypto"; class TestBackupMainService extends BackupMainService { @@ -39,7 +39,7 @@ class TestBackupMainService extends BackupMainService { return this.backups; } - public removeBackupPathSync(workspaceIdentifier: string | IWorkspace, target: (string | IWorkspace)[]): void { + public removeBackupPathSync(workspaceIdentifier: string | IWorkspaceIdentifier, target: (string | IWorkspaceIdentifier)[]): void { return super.removeBackupPathSync(workspaceIdentifier, target); } @@ -60,11 +60,10 @@ class TestBackupMainService extends BackupMainService { } } -function toWorkspace(path: string): IWorkspace { +function toWorkspace(path: string): IWorkspaceIdentifier { return { id: createHash('md5').update(sanitizePath(path)).digest('hex'), - configPath: path, - folders: [] + configPath: path }; } diff --git a/src/vs/platform/windows/common/windows.ts b/src/vs/platform/windows/common/windows.ts index 8981f22a798195eec1d9594ce97b44e3323a39b5..8105fc833b0fbbb7fe3c7364e8da5bfd927b99a8 100644 --- a/src/vs/platform/windows/common/windows.ts +++ b/src/vs/platform/windows/common/windows.ts @@ -11,7 +11,7 @@ import Event from 'vs/base/common/event'; import { ITelemetryData } from 'vs/platform/telemetry/common/telemetry'; import { IProcessEnvironment } from 'vs/base/common/platform'; import { ParsedArgs } from 'vs/platform/environment/common/environment'; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export const IWindowsService = createDecorator('windowsService'); @@ -47,7 +47,7 @@ export interface IWindowsService { quit(): TPromise; relaunch(options: { addArgs?: string[], removeArgs?: string[] }): TPromise; - openWorkspace(windowId: number, workspace: IWorkspace): TPromise; + openWorkspace(windowId: number, workspace: IWorkspaceIdentifier): TPromise; // Shared process whenSharedProcessReady(): TPromise; @@ -207,7 +207,7 @@ export interface IWindowConfiguration extends ParsedArgs, IOpenFileRequest { perfAppReady?: number; perfWindowLoadTime?: number; - workspace?: IWorkspace; + workspace?: IWorkspaceIdentifier; folderPath?: string; backupPath?: string; diff --git a/src/vs/platform/windows/common/windowsIpc.ts b/src/vs/platform/windows/common/windowsIpc.ts index c6e3aa8a5f22539d94cdae8ae1fa2606f6a0359e..13073f7bc543f8f5eb84fa7c6e6afaaa47cea917 100644 --- a/src/vs/platform/windows/common/windowsIpc.ts +++ b/src/vs/platform/windows/common/windowsIpc.ts @@ -10,7 +10,7 @@ import Event, { buffer } from 'vs/base/common/event'; import { IChannel, eventToCall, eventFromCall } from 'vs/base/parts/ipc/common/ipc'; import { IWindowsService } from './windows'; import { ITelemetryData } from 'vs/platform/telemetry/common/telemetry'; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export interface IWindowsChannel extends IChannel { call(command: 'event:onWindowOpen'): TPromise; @@ -43,7 +43,7 @@ export interface IWindowsChannel extends IChannel { call(command: 'getWindows'): TPromise<{ id: number; path: string; title: string; }[]>; call(command: 'getWindowCount'): TPromise; call(command: 'relaunch', arg: { addArgs?: string[], removeArgs?: string[] }): TPromise; - call(command: 'openWorkspace', arg: [number, IWorkspace]): TPromise; + call(command: 'openWorkspace', arg: [number, IWorkspaceIdentifier]): TPromise; call(command: 'whenSharedProcessReady'): TPromise; call(command: 'toggleSharedProcess'): TPromise; call(command: 'log', arg: [string, string[]]): TPromise; @@ -218,7 +218,7 @@ export class WindowsChannelClient implements IWindowsService { return this.channel.call('relaunch', [options]); } - openWorkspace(windowId: number, workspace: IWorkspace): TPromise { + openWorkspace(windowId: number, workspace: IWorkspaceIdentifier): TPromise { return this.channel.call('openWorkspace', [windowId, workspace]); } diff --git a/src/vs/platform/windows/electron-main/windows.ts b/src/vs/platform/windows/electron-main/windows.ts index 07465e87b3af3ec697bc8997f5bf0cf688bad6b5..d60c25e32b78abe5397b542eb6d13c16a818b0ab 100644 --- a/src/vs/platform/windows/electron-main/windows.ts +++ b/src/vs/platform/windows/electron-main/windows.ts @@ -12,7 +12,7 @@ import Event from 'vs/base/common/event'; import { ITelemetryData } from 'vs/platform/telemetry/common/telemetry'; import { createDecorator } from 'vs/platform/instantiation/common/instantiation'; import { IProcessEnvironment } from 'vs/base/common/platform'; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export interface ICodeWindow { id: number; @@ -20,7 +20,7 @@ export interface ICodeWindow { config: IWindowConfiguration; openedFolderPath: string; - openedWorkspace: IWorkspace; + openedWorkspace: IWorkspaceIdentifier; lastFocusTime: number; diff --git a/src/vs/platform/windows/electron-main/windowsService.ts b/src/vs/platform/windows/electron-main/windowsService.ts index 1aa73b3769b5c86c84945b3574a5bac75cf89197..d778e0e04b775a9d536dcbf607edd34f1a8694c4 100644 --- a/src/vs/platform/windows/electron-main/windowsService.ts +++ b/src/vs/platform/windows/electron-main/windowsService.ts @@ -20,7 +20,7 @@ import { ILifecycleService } from "vs/platform/lifecycle/electron-main/lifecycle import { IWindowsMainService, ISharedProcess } from "vs/platform/windows/electron-main/windows"; import { IHistoryMainService } from "vs/platform/history/electron-main/historyMainService"; import { findExtensionDevelopmentWindow } from "vs/code/node/windowsFinder"; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export class WindowsService implements IWindowsService, IDisposable { @@ -323,7 +323,7 @@ export class WindowsService implements IWindowsService, IDisposable { return TPromise.as(null); } - openWorkspace(windowId: number, workspace: IWorkspace): TPromise { + openWorkspace(windowId: number, workspace: IWorkspaceIdentifier): TPromise { const codeWindow = this.windowsMainService.getWindowById(windowId); if (codeWindow) { diff --git a/src/vs/platform/workspaces/common/workspaces.ts b/src/vs/platform/workspaces/common/workspaces.ts index e16854b9c9c10dee8141a966710f349044c8f02a..7eeddaf818470de21078886729d56524693b96f3 100644 --- a/src/vs/platform/workspaces/common/workspaces.ts +++ b/src/vs/platform/workspaces/common/workspaces.ts @@ -11,7 +11,8 @@ import { TPromise } from 'vs/base/common/winjs.base'; export const IWorkspacesMainService = createDecorator('workspacesMainService'); export const IWorkspacesService = createDecorator('workspacesService'); -export interface IWorkspace extends IStoredWorkspace { +export interface IWorkspaceIdentifier { + id: string; configPath: string; } @@ -23,11 +24,11 @@ export interface IStoredWorkspace { export interface IWorkspacesMainService extends IWorkspacesService { _serviceBrand: any; - resolveWorkspaceSync(path: string): IWorkspace; + resolveWorkspaceSync(path: string): IWorkspaceIdentifier; } export interface IWorkspacesService { _serviceBrand: any; - createWorkspace(folders?: string[]): TPromise; + createWorkspace(folders?: string[]): TPromise; } \ No newline at end of file diff --git a/src/vs/platform/workspaces/common/workspacesIpc.ts b/src/vs/platform/workspaces/common/workspacesIpc.ts index 97796423e4634923257286afd3d6c0bff69c1a97..45c495b242f1296c54a026dc5d1d81beaf5050e8 100644 --- a/src/vs/platform/workspaces/common/workspacesIpc.ts +++ b/src/vs/platform/workspaces/common/workspacesIpc.ts @@ -7,7 +7,7 @@ import { TPromise } from 'vs/base/common/winjs.base'; import { IChannel } from 'vs/base/parts/ipc/common/ipc'; -import { IWorkspacesService, IWorkspace } from 'vs/platform/workspaces/common/workspaces'; +import { IWorkspacesService, IWorkspaceIdentifier } from 'vs/platform/workspaces/common/workspaces'; export interface IWorkspacesChannel extends IChannel { call(command: 'createWorkspace', arg: [string[]]): TPromise; @@ -33,7 +33,7 @@ export class WorkspacesChannelClient implements IWorkspacesService { constructor(private channel: IWorkspacesChannel) { } - createWorkspace(folders?: string[]): TPromise { + createWorkspace(folders?: string[]): TPromise { return this.channel.call('createWorkspace', folders); } } \ No newline at end of file diff --git a/src/vs/platform/workspaces/electron-main/workspacesMainService.ts b/src/vs/platform/workspaces/electron-main/workspacesMainService.ts index d6d71ba67af0ab2405bbf366549711518dd2561e..63ffdb206810dfb97d33d4371b4474eeedafc3f3 100644 --- a/src/vs/platform/workspaces/electron-main/workspacesMainService.ts +++ b/src/vs/platform/workspaces/electron-main/workspacesMainService.ts @@ -5,7 +5,7 @@ 'use strict'; -import { IWorkspacesMainService, IWorkspace, IStoredWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspacesMainService, IWorkspaceIdentifier, IStoredWorkspace } from "vs/platform/workspaces/common/workspaces"; import { TPromise } from "vs/base/common/winjs.base"; import { isParent } from "vs/platform/files/common/files"; import { IEnvironmentService } from "vs/platform/environment/common/environment"; @@ -24,7 +24,7 @@ export class WorkspacesMainService implements IWorkspacesMainService { this.workspacesHome = environmentService.workspacesHome; } - public resolveWorkspaceSync(path: string): IWorkspace { + public resolveWorkspaceSync(path: string): IWorkspaceIdentifier { const isWorkspace = isParent(path, this.environmentService.workspacesHome, !isLinux /* ignore case */) || extname(path) === '.code'; if (!isWorkspace) { return null; // does not look like a valid workspace config file @@ -38,7 +38,6 @@ export class WorkspacesMainService implements IWorkspacesMainService { return { id: workspace.id, - folders: workspace.folders, configPath: path }; } catch (error) { @@ -46,7 +45,7 @@ export class WorkspacesMainService implements IWorkspacesMainService { } } - public createWorkspace(folders: string[] = []): TPromise { + public createWorkspace(folders: string[] = []): TPromise { const workspaceId = this.nextWorkspaceId(); const workspaceConfigFolder = join(this.workspacesHome, workspaceId); const workspaceConfigPath = join(workspaceConfigFolder, 'workspace.json'); diff --git a/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts b/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts index 00bc286ebc4f0b3157a3f3a9da34d72d908c7cb0..d19a009b2a687fa322790dde63e819b4a6918bb8 100644 --- a/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts +++ b/src/vs/platform/workspaces/test/electron-main/workspacesMainService.test.ts @@ -49,11 +49,10 @@ suite('WorkspacesMainService', () => { return service.createWorkspace().then(workspace => { assert.ok(workspace); assert.ok(fs.existsSync(workspace.configPath)); - assert.equal(workspace.folders.length, 0); const ws = JSON.parse(fs.readFileSync(workspace.configPath).toString()) as IStoredWorkspace; assert.equal(ws.id, workspace.id); - assert.deepEqual(ws.folders, workspace.folders); + assert.deepEqual(ws.folders.length, 0); done(); }); @@ -63,13 +62,12 @@ suite('WorkspacesMainService', () => { return service.createWorkspace([process.cwd(), os.tmpdir()]).then(workspace => { assert.ok(workspace); assert.ok(fs.existsSync(workspace.configPath)); - assert.equal(workspace.folders.length, 2); - assert.equal(workspace.folders[0], process.cwd()); - assert.equal(workspace.folders[1], os.tmpdir()); const ws = JSON.parse(fs.readFileSync(workspace.configPath).toString()) as IStoredWorkspace; assert.equal(ws.id, workspace.id); - assert.deepEqual(ws.folders, workspace.folders); + assert.equal(ws.folders.length, 2); + assert.equal(ws.folders[0], process.cwd()); + assert.equal(ws.folders[1], os.tmpdir()); done(); }); @@ -87,7 +85,7 @@ suite('WorkspacesMainService', () => { workspace.configPath = newPath; const resolved = service.resolveWorkspaceSync(workspace.configPath); - assert.deepEqual(resolved, workspace); + assert.deepEqual(resolved, { id: workspace.id, configPath: workspace.configPath }); done(); }); diff --git a/src/vs/workbench/test/workbenchTestServices.ts b/src/vs/workbench/test/workbenchTestServices.ts index 92890465fb72bb56cf3a292bd543f7008d24ab65..dbc037b9a55cabe257a87e1b372ea7448f43c386 100644 --- a/src/vs/workbench/test/workbenchTestServices.ts +++ b/src/vs/workbench/test/workbenchTestServices.ts @@ -54,7 +54,7 @@ import { IThemeService } from 'vs/platform/theme/common/themeService'; import { isLinux } from 'vs/base/common/platform'; import { generateUuid } from 'vs/base/common/uuid'; import { TestThemeService } from 'vs/platform/theme/test/common/testThemeService'; -import { IWorkspace } from "vs/platform/workspaces/common/workspaces"; +import { IWorkspaceIdentifier } from "vs/platform/workspaces/common/workspaces"; export function createFileInput(instantiationService: IInstantiationService, resource: URI): FileEditorInput { return instantiationService.createInstance(FileEditorInput, resource, void 0); @@ -1062,7 +1062,7 @@ export class TestWindowsService implements IWindowsService { return TPromise.as(void 0); } - openWorkspace(windowId: number, workspace: IWorkspace): TPromise { + openWorkspace(windowId: number, workspace: IWorkspaceIdentifier): TPromise { return TPromise.as(void 0); }