From b1d9b0982e78e51167a671908c39e058b343f21f Mon Sep 17 00:00:00 2001 From: Rob Lourens Date: Tue, 27 Nov 2018 18:02:06 -0800 Subject: [PATCH] Persist replace input text - fix #63886 --- src/vs/workbench/parts/search/browser/searchView.ts | 3 +++ src/vs/workbench/parts/search/browser/searchWidget.ts | 2 ++ 2 files changed, 5 insertions(+) diff --git a/src/vs/workbench/parts/search/browser/searchView.ts b/src/vs/workbench/parts/search/browser/searchView.ts index 56115f7af36..1b4427a3b6f 100644 --- a/src/vs/workbench/parts/search/browser/searchView.ts +++ b/src/vs/workbench/parts/search/browser/searchView.ts @@ -303,6 +303,7 @@ export class SearchView extends Viewlet implements IViewlet, IPanel { private createSearchWidget(container: HTMLElement): void { let contentPattern = this.viewletState['query.contentPattern'] || ''; + const replaceText = this.viewletState['query.replaceText'] || ''; let isRegex = this.viewletState['query.regex'] === true; let isWholeWords = this.viewletState['query.wholeWords'] === true; let isCaseSensitive = this.viewletState['query.caseSensitive'] === true; @@ -313,6 +314,7 @@ export class SearchView extends Viewlet implements IViewlet, IPanel { this.searchWidget = this._register(this.instantiationService.createInstance(SearchWidget, container, { value: contentPattern, + replaceValue: replaceText, isRegex: isRegex, isCaseSensitive: isCaseSensitive, isWholeWords: isWholeWords, @@ -1572,6 +1574,7 @@ export class SearchView extends Viewlet implements IViewlet, IPanel { const isReplaceShown = this.searchAndReplaceWidget.isReplaceShown(); this.viewletState['view.showReplace'] = isReplaceShown; + this.viewletState['query.replaceText'] = isReplaceShown && this.searchWidget.getReplaceValue(); const history: ISearchHistoryValues = Object.create(null); diff --git a/src/vs/workbench/parts/search/browser/searchWidget.ts b/src/vs/workbench/parts/search/browser/searchWidget.ts index 3f228237292..3e32714eeb7 100644 --- a/src/vs/workbench/parts/search/browser/searchWidget.ts +++ b/src/vs/workbench/parts/search/browser/searchWidget.ts @@ -37,6 +37,7 @@ import { IEditorOptions } from 'vs/editor/common/config/editorOptions'; export interface ISearchWidgetOptions { value?: string; + replaceValue?: string; isRegex?: boolean; isCaseSensitive?: boolean; isWholeWords?: boolean; @@ -336,6 +337,7 @@ export class SearchWidget extends Widget { }, this.contextKeyService)); this._register(attachInputBoxStyler(this.replaceInput, this.themeService)); this.onkeydown(this.replaceInput.inputElement, (keyboardEvent) => this.onReplaceInputKeyDown(keyboardEvent)); + this.replaceInput.value = options.replaceValue || ''; this.replaceInput.onDidChange(() => this._onReplaceValueChanged.fire()); this.searchInput.inputBox.onDidChange(() => this.onSearchInputChanged());