src/vs/workbench/contrib/extensions/browser/extensionEditor.ts/ExtensionEditor/renderResources
class ExtensionEditor:	private renderResources(container: HTMLElement, extension: IExtension): void {
		const resources: [string, URI][] = [];
		if (extension.url) {
			resources.push([localize('Marketplace', "Marketplace"), URI.parse(extension.url)]);
		}
		if (extension.repository) {
			resources.push([localize('repository', "Repository"), URI.parse(extension.repository)]);
		}
		if (extension.url && extension.licenseUrl) {
			resources.push([localize('license', "License"), URI.parse(extension.licenseUrl)]);
		}
		if (extension.publisherDomain?.verified) {
			const publisherDomainUri = URI.parse(extension.publisherDomain.link);
			resources.push([publisherDomainUri.authority, publisherDomainUri]);
		}
		if (resources.length) {
			const resourcesContainer = append(container, $('.resources-container'));
			append(resourcesContainer, $('.additional-details-title', undefined, localize('resources', "Resources")));
			const resourcesElement = append(resourcesContainer, $('.resources'));
			for (const [label, uri] of resources) {
				this.transientDisposables.add(this.onClick(append(resourcesElement, $('a.resource', { title: uri.toString() }, label)), () => this.openerService.open(uri)));
			}
		}
	}