提交 d3e11431 编写于 作者: S Sandeep Somavarapu

Move user data sync service to platform

上级 849034f5
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
import { Disposable } from 'vs/base/common/lifecycle'; import { Disposable } from 'vs/base/common/lifecycle';
import { IFileService, FileSystemProviderErrorCode, FileSystemProviderError, IFileContent } from 'vs/platform/files/common/files'; import { IFileService, FileSystemProviderErrorCode, FileSystemProviderError, IFileContent } from 'vs/platform/files/common/files';
import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage'; import { IStorageService, StorageScope } from 'vs/platform/storage/common/storage';
import { IUserData, UserDataSyncStoreError, UserDataSyncStoreErrorCode, ISynchroniser, SyncStatus, ISettingsMergeService, IUserDataSyncStoreService, SETTINGS_PREVIEW_RESOURCE } from 'vs/platform/userDataSync/common/userDataSync'; import { IUserData, UserDataSyncStoreError, UserDataSyncStoreErrorCode, ISynchroniser, SyncStatus, ISettingsMergeService, IUserDataSyncStoreService, SETTINGS_PREVIEW_RESOURCE as SETTINGS_CONFLICTS_RESOURCE } from 'vs/platform/userDataSync/common/userDataSync';
import { VSBuffer } from 'vs/base/common/buffer'; import { VSBuffer } from 'vs/base/common/buffer';
import { parse, ParseError } from 'vs/base/common/json'; import { parse, ParseError } from 'vs/base/common/json';
import { localize } from 'vs/nls'; import { localize } from 'vs/nls';
...@@ -40,7 +40,7 @@ export class SettingsSynchroniser extends Disposable implements ISynchroniser { ...@@ -40,7 +40,7 @@ export class SettingsSynchroniser extends Disposable implements ISynchroniser {
private _onDidChangeLocal: Emitter<void> = this._register(new Emitter<void>()); private _onDidChangeLocal: Emitter<void> = this._register(new Emitter<void>());
readonly onDidChangeLocal: Event<void> = this._onDidChangeLocal.event; readonly onDidChangeLocal: Event<void> = this._onDidChangeLocal.event;
readonly conflicts: URI = SETTINGS_PREVIEW_RESOURCE; readonly conflicts: URI = SETTINGS_CONFLICTS_RESOURCE;
constructor( constructor(
@IFileService private readonly fileService: IFileService, @IFileService private readonly fileService: IFileService,
......
...@@ -3,14 +3,12 @@ ...@@ -3,14 +3,12 @@
* Licensed under the MIT License. See License.txt in the project root for license information. * Licensed under the MIT License. See License.txt in the project root for license information.
*--------------------------------------------------------------------------------------------*/ *--------------------------------------------------------------------------------------------*/
import { IUserDataSyncService, SyncStatus, ISynchroniser, USER_DATA_PREVIEW_SCHEME, IUserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSync'; import { IUserDataSyncService, SyncStatus, ISynchroniser, IUserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSync';
import { Disposable } from 'vs/base/common/lifecycle'; import { Disposable } from 'vs/base/common/lifecycle';
import { registerSingleton } from 'vs/platform/instantiation/common/extensions';
import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation'; import { IInstantiationService } from 'vs/platform/instantiation/common/instantiation';
import { SettingsSynchroniser } from 'vs/workbench/services/userData/common/settingsSync'; import { SettingsSynchroniser } from 'vs/platform/userDataSync/common/settingsSync';
import { Emitter, Event } from 'vs/base/common/event'; import { Emitter, Event } from 'vs/base/common/event';
import { IFileService } from 'vs/platform/files/common/files'; import { IFileService } from 'vs/platform/files/common/files';
import { InMemoryFileSystemProvider } from 'vs/workbench/services/userData/common/inMemoryUserDataProvider';
import { URI } from 'vs/base/common/uri'; import { URI } from 'vs/base/common/uri';
export class UserDataSyncService extends Disposable implements IUserDataSyncService { export class UserDataSyncService extends Disposable implements IUserDataSyncService {
...@@ -32,7 +30,6 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ ...@@ -32,7 +30,6 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
@IInstantiationService private readonly instantiationService: IInstantiationService, @IInstantiationService private readonly instantiationService: IInstantiationService,
) { ) {
super(); super();
this._register(fileService.registerProvider(USER_DATA_PREVIEW_SCHEME, new InMemoryFileSystemProvider()));
this.synchronisers = [ this.synchronisers = [
this.instantiationService.createInstance(SettingsSynchroniser) this.instantiationService.createInstance(SettingsSynchroniser)
]; ];
...@@ -95,5 +92,3 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ ...@@ -95,5 +92,3 @@ export class UserDataSyncService extends Disposable implements IUserDataSyncServ
} }
} }
registerSingleton(IUserDataSyncService, UserDataSyncService);
...@@ -25,6 +25,8 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic ...@@ -25,6 +25,8 @@ import { IEditorService } from 'vs/workbench/services/editor/common/editorServic
import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles'; import { ITextFileService } from 'vs/workbench/services/textfile/common/textfiles';
import { Event } from 'vs/base/common/event'; import { Event } from 'vs/base/common/event';
import { IHistoryService } from 'vs/workbench/services/history/common/history'; import { IHistoryService } from 'vs/workbench/services/history/common/history';
import { IFileService } from 'vs/platform/files/common/files';
import { InMemoryFileSystemProvider } from 'vs/workbench/services/userData/common/inMemoryUserDataProvider';
const CONTEXT_SYNC_STATE = new RawContextKey<string>('syncStatus', SyncStatus.Uninitialized); const CONTEXT_SYNC_STATE = new RawContextKey<string>('syncStatus', SyncStatus.Uninitialized);
...@@ -47,11 +49,13 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration) ...@@ -47,11 +49,13 @@ Registry.as<IConfigurationRegistry>(ConfigurationExtensions.Configuration)
class UserDataSyncContribution extends Disposable implements IWorkbenchContribution { class UserDataSyncContribution extends Disposable implements IWorkbenchContribution {
constructor( constructor(
@IFileService fileService: IFileService,
@IConfigurationService private readonly configurationService: IConfigurationService, @IConfigurationService private readonly configurationService: IConfigurationService,
@IUserDataSyncService private readonly userDataSyncService: IUserDataSyncService, @IUserDataSyncService private readonly userDataSyncService: IUserDataSyncService,
@IUserDataSyncStoreService private readonly userDataSyncStoreService: IUserDataSyncStoreService, @IUserDataSyncStoreService private readonly userDataSyncStoreService: IUserDataSyncStoreService,
) { ) {
super(); super();
this._register(fileService.registerProvider(USER_DATA_PREVIEW_SCHEME, new InMemoryFileSystemProvider()));
this.sync(true); this.sync(true);
this._register(Event.any<any>( this._register(Event.any<any>(
Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('userConfiguration.enableSync') && this.configurationService.getValue<boolean>('userConfiguration.enableSync')), Event.filter(this.configurationService.onDidChangeConfiguration, e => e.affectsConfiguration('userConfiguration.enableSync') && this.configurationService.getValue<boolean>('userConfiguration.enableSync')),
......
...@@ -107,8 +107,9 @@ import { IDownloadService } from 'vs/platform/download/common/download'; ...@@ -107,8 +107,9 @@ import { IDownloadService } from 'vs/platform/download/common/download';
import { DownloadService } from 'vs/platform/download/common/downloadService'; import { DownloadService } from 'vs/platform/download/common/downloadService';
import { OpenerService } from 'vs/editor/browser/services/openerService'; import { OpenerService } from 'vs/editor/browser/services/openerService';
import { IOpenerService } from 'vs/platform/opener/common/opener'; import { IOpenerService } from 'vs/platform/opener/common/opener';
import { IUserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSync'; import { IUserDataSyncStoreService, IUserDataSyncService } from 'vs/platform/userDataSync/common/userDataSync';
import { UserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSyncStoreService'; import { UserDataSyncStoreService } from 'vs/platform/userDataSync/common/userDataSyncStoreService';
import { UserDataSyncService } from 'vs/platform/userDataSync/common/userDataSyncService';
registerSingleton(IExtensionGalleryService, ExtensionGalleryService, true); registerSingleton(IExtensionGalleryService, ExtensionGalleryService, true);
registerSingleton(IContextViewService, ContextViewService, true); registerSingleton(IContextViewService, ContextViewService, true);
...@@ -123,6 +124,7 @@ registerSingleton(IMenuService, MenuService, true); ...@@ -123,6 +124,7 @@ registerSingleton(IMenuService, MenuService, true);
registerSingleton(IDownloadService, DownloadService, true); registerSingleton(IDownloadService, DownloadService, true);
registerSingleton(IOpenerService, OpenerService, true); registerSingleton(IOpenerService, OpenerService, true);
registerSingleton(IUserDataSyncStoreService, UserDataSyncStoreService); registerSingleton(IUserDataSyncStoreService, UserDataSyncStoreService);
registerSingleton(IUserDataSyncService, UserDataSyncService);
//#endregion //#endregion
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册