From 0a57108b0b19313125a63de642de640c34b79574 Mon Sep 17 00:00:00 2001 From: Sandeep Somavarapu Date: Wed, 27 Jun 2018 16:01:22 +0200 Subject: [PATCH] Fix #52946 --- .../extensionManagement/node/extensionManagementService.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/vs/platform/extensionManagement/node/extensionManagementService.ts b/src/vs/platform/extensionManagement/node/extensionManagementService.ts index 8a57dd69022..5752c45c955 100644 --- a/src/vs/platform/extensionManagement/node/extensionManagementService.ts +++ b/src/vs/platform/extensionManagement/node/extensionManagementService.ts @@ -437,7 +437,8 @@ export class ExtensionManagementService extends Disposable implements IExtension private extractAndInstall({ zipPath, id, metadata }: InstallableExtension): TPromise { const tempPath = path.join(this.extensionsPath, `.${id}`); const extensionPath = path.join(this.extensionsPath, id); - return this.extractAndRename(id, zipPath, tempPath, extensionPath) + return pfs.rimraf(extensionPath) + .then(() => this.extractAndRename(id, zipPath, tempPath, extensionPath), e => TPromise.wrapError(new ExtensionManagementError(nls.localize('errorDeleting', "Unable to delete the existing folder '{0}' while installing the extension '{1}'. Please delete the folder manually and try again", extensionPath, id), INSTALL_ERROR_DELETING))) .then(() => { this.logService.info('Installation completed.', id); return this.scanExtension(id, this.extensionsPath, LocalExtensionType.User); -- GitLab