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;