diff --git a/src/vs/workbench/parts/search/browser/searchWidget.ts b/src/vs/workbench/parts/search/browser/searchWidget.ts index d39a92c8c7abfd902fcbc2e3d2530672316b60c5..15342de2365acd280fd881514f90602d4073909c 100644 --- a/src/vs/workbench/parts/search/browser/searchWidget.ts +++ b/src/vs/workbench/parts/search/browser/searchWidget.ts @@ -319,6 +319,7 @@ export class SearchWidget extends Widget { this.replaceAllAction.label = SearchWidget.REPLACE_ALL_DISABLED_LABEL; this.replaceActionBar = this._register(new ActionBar(this.replaceContainer)); this.replaceActionBar.push([this.replaceAllAction], { icon: true, label: false }); + this.onkeydown(this.replaceActionBar.domNode, (keyboardEvent) => this.onReplaceActionbarKeyDown(keyboardEvent)); this.replaceInputFocusTracker = this._register(dom.trackFocus(this.replaceInput.inputElement)); this._register(this.replaceInputFocusTracker.onDidFocus(() => this.replaceInputBoxFocused.set(true))); @@ -442,6 +443,13 @@ export class SearchWidget extends Widget { } } + private onReplaceActionbarKeyDown(keyboardEvent: IKeyboardEvent) { + if (keyboardEvent.equals(KeyMod.Shift | KeyCode.Tab)) { + this.focusRegexAction(); + keyboardEvent.preventDefault(); + } + } + private submitSearch(refresh: boolean = true): void { const value = this.searchInput.getValue(); const useGlobalFindBuffer = this.configurationService.getValue('search').globalFindClipboard;