From 50d1626b9e2fef19a98b549d07c67e0e76f6a43d Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Wed, 29 Jan 2020 15:15:47 +0100 Subject: [PATCH] Fix enablement event --- .../common/extensionEnablementService.ts | 2 ++ src/vs/platform/userDataSync/common/extensionsSync.ts | 9 ++++++--- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/vs/platform/extensionManagement/common/extensionEnablementService.ts b/src/vs/platform/extensionManagement/common/extensionEnablementService.ts index a8fe676d7cf..b67a779c285 100644 --- a/src/vs/platform/extensionManagement/common/extensionEnablementService.ts +++ b/src/vs/platform/extensionManagement/common/extensionEnablementService.ts @@ -28,6 +28,7 @@ export class GlobalExtensionEnablementService extends Disposable implements IGlo async enableExtension(extension: IExtensionIdentifier): Promise { if (this._removeFromDisabledExtensions(extension)) { + this._onDidChangeEnablement.fire([extension]); return true; } return false; @@ -35,6 +36,7 @@ export class GlobalExtensionEnablementService extends Disposable implements IGlo async disableExtension(extension: IExtensionIdentifier): Promise { if (this._addToDisabledExtensions(extension)) { + this._onDidChangeEnablement.fire([extension]); return true; } return false; diff --git a/src/vs/platform/userDataSync/common/extensionsSync.ts b/src/vs/platform/userDataSync/common/extensionsSync.ts index 7a17d8197c7..6351fb62a89 100644 --- a/src/vs/platform/userDataSync/common/extensionsSync.ts +++ b/src/vs/platform/userDataSync/common/extensionsSync.ts @@ -44,9 +44,10 @@ export class ExtensionsSynchroniser extends AbstractSynchroniser implements IUse super(SyncSource.Extensions, fileService, environmentService, userDataSyncStoreService); this._register( Event.debounce( - Event.any( + Event.any( Event.filter(this.extensionManagementService.onDidInstallExtension, (e => !!e.gallery)), - Event.filter(this.extensionManagementService.onDidUninstallExtension, (e => !e.error))), + Event.filter(this.extensionManagementService.onDidUninstallExtension, (e => !e.error)), + this.extensionEnablementService.onDidChangeEnablement), () => undefined, 500)(() => this._onDidChangeLocal.fire())); } @@ -241,15 +242,17 @@ export class ExtensionsSynchroniser extends AbstractSynchroniser implements IUse await Promise.all([...added, ...updated].map(async e => { const extension = await this.extensionGalleryService.getCompatibleExtension(e.identifier, e.version); if (extension) { - this.logService.info('Extensions: Installing local extension.', e.identifier.id, extension.version); try { if (e.enabled) { + this.logService.info('Extensions: Enabling extension.', e.identifier.id, extension.version); await this.extensionEnablementService.enableExtension(extension.identifier); } else { + this.logService.info('Extensions: Disabling extension.', e.identifier.id, extension.version); await this.extensionEnablementService.disableExtension(extension.identifier); } // Install only if the extension does not exist if (!installedExtensions.some(installed => areSameExtensions(installed.identifier, extension.identifier) && installed.manifest.version === extension.version)) { + this.logService.info('Extensions: Installing extension.', e.identifier.id, extension.version); await this.extensionManagementService.installFromGallery(extension); removeFromSkipped.push(extension.identifier); } -- GitLab