Skip to content

Commit 15addfc

Browse files
committed
Focus left editor and position correctly
1 parent 3d99a60 commit 15addfc

1 file changed

Lines changed: 9 additions & 3 deletions

File tree

src/vs/workbench/parts/search/browser/searchViewlet.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@
88
import 'vs/css!./media/searchviewlet';
99
import nls = require('vs/nls');
1010
import {TPromise, PPromise} from 'vs/base/common/winjs.base';
11-
import {EditorType, IEditor, IDiffEditorOptions} from 'vs/editor/common/editorCommon';
11+
import {EditorType, IDiffEditorOptions} from 'vs/editor/common/editorCommon';
12+
import {IDiffEditor} from 'vs/editor/browser/editorBrowser';
1213
import lifecycle = require('vs/base/common/lifecycle');
1314
import errors = require('vs/base/common/errors');
1415
import aria = require('vs/base/browser/ui/aria/aria');
@@ -939,10 +940,15 @@ export class SearchViewlet extends Viewlet {
939940
private openReplacePreviewEditor(element: FileMatchOrMatch, preserveFocus?: boolean, sideBySide?: boolean, pinned?: boolean): TPromise<any> {
940941
return this.replaceService.getInput(element instanceof Match ? element.parent() : element, this.viewModel.replaceText).then((editorInput) => {
941942
this.editorService.openEditor(editorInput, {preserveFocus: preserveFocus, pinned: pinned}).then((editor) => {
942-
let editorControl= (<IEditor>editor.getControl());
943+
let editorControl= (<IDiffEditor>editor.getControl());
943944
editorControl.updateOptions(<IDiffEditorOptions>{originalEditable: true});
944945
if (element instanceof Match) {
945-
editorControl.revealLineInCenter(element.range().startLineNumber);
946+
let range= element.range();
947+
editorControl.revealLineInCenter(range.startLineNumber);
948+
editorControl.getOriginalEditor().setPosition({lineNumber: range.startLineNumber, column: range.startColumn});
949+
}
950+
if (!preserveFocus) {
951+
editorControl.getOriginalEditor().focus();
946952
}
947953
});
948954
});

0 commit comments

Comments
 (0)