66import { registerSingleton } from 'vs/platform/instantiation/common/extensions' ;
77import { IWorkspacesService , IWorkspaceFolderCreationData , IWorkspaceIdentifier , IEnterWorkspaceResult , IRecentlyOpened , restoreRecentlyOpened , IRecent , isRecentFile , isRecentFolder , toStoreData , IStoredWorkspaceFolder , getStoredWorkspaceFolder , WORKSPACE_EXTENSION , IStoredWorkspace } from 'vs/platform/workspaces/common/workspaces' ;
88import { URI } from 'vs/base/common/uri' ;
9- import { Event , Emitter } from 'vs/base/common/event' ;
9+ import { Emitter } from 'vs/base/common/event' ;
1010import { IStorageService , StorageScope } from 'vs/platform/storage/common/storage' ;
1111import { IWorkspaceContextService , WorkbenchState } from 'vs/platform/workspace/common/workspace' ;
1212import { ILogService } from 'vs/platform/log/common/log' ;
@@ -16,25 +16,30 @@ import { IFileService, FileOperationError, FileOperationResult } from 'vs/platfo
1616import { IWorkbenchEnvironmentService } from 'vs/workbench/services/environment/common/environmentService' ;
1717import { joinPath } from 'vs/base/common/resources' ;
1818import { VSBuffer } from 'vs/base/common/buffer' ;
19+ import { IStorageKeysSyncRegistryService } from 'vs/platform/userDataSync/common/storageKeys' ;
1920
2021export class BrowserWorkspacesService extends Disposable implements IWorkspacesService {
2122
2223 static readonly RECENTLY_OPENED_KEY = 'recently.opened' ;
2324
2425 _serviceBrand : undefined ;
2526
26- private readonly _onRecentlyOpenedChange : Emitter < void > = this . _register ( new Emitter < void > ( ) ) ;
27- readonly onRecentlyOpenedChange : Event < void > = this . _onRecentlyOpenedChange . event ;
27+ private readonly _onRecentlyOpenedChange = this . _register ( new Emitter < void > ( ) ) ;
28+ readonly onRecentlyOpenedChange = this . _onRecentlyOpenedChange . event ;
2829
2930 constructor (
3031 @IStorageService private readonly storageService : IStorageService ,
3132 @IWorkspaceContextService private readonly workspaceService : IWorkspaceContextService ,
3233 @ILogService private readonly logService : ILogService ,
3334 @IFileService private readonly fileService : IFileService ,
34- @IWorkbenchEnvironmentService private readonly environmentService : IWorkbenchEnvironmentService
35+ @IWorkbenchEnvironmentService private readonly environmentService : IWorkbenchEnvironmentService ,
36+ @IStorageKeysSyncRegistryService storageKeysSyncRegistryService : IStorageKeysSyncRegistryService
3537 ) {
3638 super ( ) ;
3739
40+ // opt-in to syncing
41+ storageKeysSyncRegistryService . registerStorageKey ( { key : BrowserWorkspacesService . RECENTLY_OPENED_KEY , version : 1 } ) ;
42+
3843 // Opening a workspace should push it as most
3944 // recently used to the workspaces history
4045 this . addWorkspaceToRecentlyOpened ( ) ;
0 commit comments