From deefeadb1e25e2db656af1b9e7af26fb6d64687c Mon Sep 17 00:00:00 2001 From: Rachel Macfarlane Date: Mon, 2 Apr 2018 11:07:19 -0700 Subject: [PATCH] Sort extensions list in issue reporter, fixes #46968 --- .../issue/issueReporterMain.ts | 29 +++++++++++++++++-- 1 file changed, 27 insertions(+), 2 deletions(-) diff --git a/src/vs/code/electron-browser/issue/issueReporterMain.ts b/src/vs/code/electron-browser/issue/issueReporterMain.ts index 6af83069392..d87232cf697 100644 --- a/src/vs/code/electron-browser/issue/issueReporterMain.ts +++ b/src/vs/code/electron-browser/issue/issueReporterMain.ts @@ -781,9 +781,34 @@ export class IssueReporter extends Disposable { } private updateExtensionSelector(extensions: ILocalExtension[]): void { - const makeOption = (extension: ILocalExtension) => ``; + interface IOption { + name: string; + id: string; + } + + const extensionOptions: IOption[] = extensions.map(extension => { + return { + name: extension.manifest.displayName || extension.manifest.name || '', + id: extension.identifier.id + }; + }); + + // Sort extensions by name + extensionOptions.sort((a, b) => { + if (a.name > b.name) { + return 1; + } + + if (a.name < b.name) { + return -1; + } + + return 0; + }); + + const makeOption = (extension: IOption) => ``; const extensionsSelector = document.getElementById('extension-selector'); - extensionsSelector.innerHTML = '' + extensions.map(makeOption).join('\n'); + extensionsSelector.innerHTML = '' + extensionOptions.map(makeOption).join('\n'); this.addEventListener('extension-selector', 'change', (e: Event) => { const selectedExtensionId = (e.target).value; -- GitLab