diff --git a/src/vs/platform/extensionManagement/common/extensionManagement.ts b/src/vs/platform/extensionManagement/common/extensionManagement.ts index 7e852d256ad74..5c21f1852f8c2 100644 --- a/src/vs/platform/extensionManagement/common/extensionManagement.ts +++ b/src/vs/platform/extensionManagement/common/extensionManagement.ts @@ -111,6 +111,7 @@ export interface IGalleryExtensionProperties { export interface IGalleryExtensionAssets { manifest: string; readme: string; + changelog: string; download: string; icon: string; iconFallback: string; diff --git a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts index dc00fd2a01ea4..3242ff256f9d9 100644 --- a/src/vs/platform/extensionManagement/node/extensionGalleryService.ts +++ b/src/vs/platform/extensionManagement/node/extensionGalleryService.ts @@ -96,6 +96,7 @@ enum FilterType { const AssetType = { Icon: 'Microsoft.VisualStudio.Services.Icons.Default', Details: 'Microsoft.VisualStudio.Services.Content.Details', + Changelog: 'Microsoft.VisualStudio.Services.Content.Changelog', Manifest: 'Microsoft.VisualStudio.Code.Manifest', VSIX: 'Microsoft.VisualStudio.Services.VSIXPackage', License: 'Microsoft.VisualStudio.Services.Content.License', @@ -223,6 +224,7 @@ function toExtension(galleryExtension: IRawGalleryExtension, extensionsGalleryUr const assets = { manifest: getAssetSource(version.files, AssetType.Manifest), readme: getAssetSource(version.files, AssetType.Details), + changelog: getAssetSource(version.files, AssetType.Changelog), download: `${ getAssetSource(version.files, AssetType.VSIX) }?install=true`, icon, iconFallback, diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts index 209ed893f4e6d..b3c5485a751be 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsWorkbenchService.ts @@ -96,7 +96,7 @@ class Extension implements IExtension { return this.local ? this.local.manifest.description : this.gallery.description; } - get readmeUrl(): string { + private get readmeUrl(): string { if (this.local && this.local.readmeUrl) { return this.local.readmeUrl; } @@ -104,12 +104,12 @@ class Extension implements IExtension { return this.gallery && this.gallery.assets.readme; } - get changelogUrl(): string { + private get changelogUrl(): string { if (this.local && this.local.changelogUrl) { return this.local.changelogUrl; } - return ''; // Hopefully we will change this once the gallery will support that. + return this.gallery && this.gallery.assets.changelog; } get iconUrl(): string { @@ -200,7 +200,7 @@ class Extension implements IExtension { } getReadme(): TPromise<string> { - const readmeUrl = this.local && this.local.readmeUrl ? this.local.readmeUrl : this.gallery && this.gallery.assets.readme; + const readmeUrl = this.readmeUrl; if (!readmeUrl) { return TPromise.wrapError('not available'); @@ -216,11 +216,11 @@ class Extension implements IExtension { } get hasChangelog() : boolean { - return !!(this.local && this.local.changelogUrl ? this.local.changelogUrl : ''); + return !!(this.changelogUrl); } getChangelog() : TPromise<string> { - const changelogUrl = this.local && this.local.changelogUrl ? this.local.changelogUrl : ''; + const changelogUrl = this.changelogUrl; if (!changelogUrl) { return TPromise.wrapError('not available');