diff --git a/src/vs/code/node/cliProcessMain.ts b/src/vs/code/node/cliProcessMain.ts index af389ec5dc270693eec6da9d1e9a16212f0d9f6d..001eda9bb5492dc982e604e45a4efd28f6bcd51b 100644 --- a/src/vs/code/node/cliProcessMain.ts +++ b/src/vs/code/node/cliProcessMain.ts @@ -140,8 +140,18 @@ class Main { return TPromise.wrapError(new Error(`${notFound(id)}\n${useId}`)); } - console.log(localize('foundExtension', "Found '{0}' in the marketplace.", id)); - console.log(localize('installing', "Installing...")); + const installedExtension = installed.filter(e => getId(e.manifest) === id)[0]; + const installedVersion = installedExtension.manifest.version; + const newestVersion = extension.version; + const shouldUpdate = installedVersion !== newestVersion; + + if (shouldUpdate) { + console.log(localize('foundNewerVersion', "Installed version is '{0}', found newer version '{1}' in the marketplace.", installedVersion, newestVersion)); + console.log(localize('updating', "Updating...")); + } else { + console.log(localize('foundExtension', "Found '{0}' in the marketplace.", id)); + console.log(localize('installing', "Installing...")); + } return this.extensionManagementService.installFromGallery(extension) .then(