From 7833c28b7a01867b26cdb98b92590917e1466ea3 Mon Sep 17 00:00:00 2001 From: Leila Lali Date: Wed, 11 Apr 2018 11:59:56 -0700 Subject: [PATCH] fixed the bug with using vs code url to download manually (#1108) --- .../node/extensionsWorkbenchService.ts | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts index 3bc36f8e24..bd6b7f704a 100644 --- a/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/node/extensionsWorkbenchService.ts @@ -114,7 +114,7 @@ class Extension implements IExtension { return null; } - return `${product.extensionsGallery.itemUrl}?itemName=${this.publisher}.${this.name}`; + return product.extensionsGallery.itemUrl && `${product.extensionsGallery.itemUrl}?itemName=${this.publisher}.${this.name}`; } get downloadUrl(): string { @@ -122,7 +122,9 @@ class Extension implements IExtension { return null; } - return `${product.extensionsGallery.serviceUrl}/publishers/${this.publisher}/vsextensions/${this.name}/${this.latestVersion}/vspackage`; + // {{SQL CARBON EDIT}} + return this.gallery && this.gallery.assets && this.gallery.assets.download && this.gallery.assets.download.uri; + //return `${product.extensionsGallery.serviceUrl}/publishers/${this.publisher}/vsextensions/${this.name}/${this.latestVersion}/vspackage`; } get iconUrl(): string { @@ -612,7 +614,18 @@ export class ExtensionsWorkbenchService implements IExtensionsWorkbenchService { location: ProgressLocation.Extensions, title: nls.localize('installingMarketPlaceExtension', 'Installing extension from Marketplace....'), tooltip: `${extension.id}` - }, () => this.extensionService.installFromGallery(gallery)); + // {{SQL CARBON EDIT}} + }, () => this.downloadOrBrowse(ext)); + } + + // {{SQL CARBON EDIT}} + private downloadOrBrowse(ext: Extension): TPromise { + if (ext.gallery.assets.downloadPage && ext.gallery.assets.downloadPage.uri) { + window.open(ext.gallery.assets.downloadPage.uri); + return TPromise.wrap(void 0); + } else { + return this.extensionService.installFromGallery(ext.gallery); + } } setEnablement(extension: IExtension, enablementState: EnablementState): TPromise {