diff --git a/src/vs/workbench/parts/extensions/browser/extensionsActions.ts b/src/vs/workbench/parts/extensions/browser/extensionsActions.ts index e9f1845f42b16605cebc1511f86517f37e15b30c..a3cc09bf40c3f8bff2ce7dffb04d26e004882de2 100644 --- a/src/vs/workbench/parts/extensions/browser/extensionsActions.ts +++ b/src/vs/workbench/parts/extensions/browser/extensionsActions.ts @@ -851,7 +851,7 @@ export class ShowInstalledExtensionsAction extends Action { return this.viewletService.openViewlet(VIEWLET_ID, true) .then(viewlet => viewlet as IExtensionsViewlet) .then(viewlet => { - viewlet.search(''); + viewlet.search('@installed'); viewlet.focus(); }); } diff --git a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts index 192ae87acc781bb3574b9271cc6ea6e73b7fe910..3eeaaee418518cbb5a2c2afbdac51185140b691e 100644 --- a/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts +++ b/src/vs/workbench/parts/extensions/electron-browser/extensionsViewlet.ts @@ -237,11 +237,12 @@ export class ExtensionsViewlet extends Viewlet implements IExtensionsViewlet { } private query(value: string): TPromise> { - if (!value) { + if (!value || /@installed/i.test(value)) { // Show installed extensions + value = value ? value.replace(/@installed/g, '').trim().toLowerCase() : ''; return this.extensionsWorkbenchService.queryLocal() .then(result => result.sort((e1, e2) => e1.displayName.localeCompare(e2.displayName))) - .then(result => result.filter(e => e.type === LocalExtensionType.User)) + .then(result => result.filter(e => e.type === LocalExtensionType.User && e.name.toLowerCase().indexOf(value) > -1)) .then(result => new PagedModel(result)); }