Change:
VSCode Version: Code 1.17.2 (, 2017-10-16T13:47:41.889Z) OS Version: Darwin x64 17.0.0 Extensions: ExtensionVersion ------ unity-tools0.1.9 unity-debug1.2.1 vscode-eslint1.3.2 python0.7.0 cpptools0.14.0 csharp1.12.1 mono-debug0.15.7 vscode-arduino0.2.9 Steps to Reproduce: the user setting "": false, text in a document command-e command-f Expected results: VS Code matches the standard Mac text find behavior, where command-e populates the search pasteboard with the current selection, but doesn't show the find panel. Pressing command-f thereafter shows the find panel, revealing what I put in there with command-e. Actual results: pressing command-e shows the find panel and doesn't populate the search pasteboard Plx to allow me to match the macOS standard behavior! Is my favest! <!-- Launch with to check. --Reproduces without extensions: Yes

Discussion:
if (shouldRestartFind) { this._start({ forceRevealReplace: false, <del> seedSearchStringFromSelection: false, </del> <ins> seedSearchStringFromSelection: false && this._editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection, </ins> shouldFocus: FindStartFocusAction.NoFocusChange, shouldAnimate: false, });

isRevealed: true }; <del> // Consider editor selection and overwrite the state with it if (opts.seedSearchStringFromSelection && this._editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection) { </del> <ins> if (opts.seedSearchStringFromSelection) { </ins> let selectionSearchString = getSelectionSearchString(this._editor); if (selectionSearchString) { if (this._state.isRegex) {

precondition: null, kbOpts: { kbExpr: null, <del> primary: KeyMod.CtrlCmd | KeyCode.KEY_F, </del> <ins> primary: KeyMod.CtrlCmd | KeyCode.KEY_F } }); } public run(accessor: ServicesAccessor, editor: ICodeEditor): void { let controller = CommonFindController.get(editor); if (controller) { controller.start({ forceRevealReplace: false, seedSearchStringFromSelection: editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection, shouldFocus: FindStartFocusAction.FocusFindInput, shouldAnimate: true }); } } } export class StartFindWithSelectionAction extends EditorAction { constructor() { super({ id: FIND_IDS.StartFindWithSelection, label: nls.localize('startFindAction', "Find"), alias: 'Find', precondition: null, kbOpts: { kbExpr: null, primary: null, </ins> mac: { <del> primary: KeyMod.CtrlCmd | KeyCode.KEY_F, secondary: [KeyMod.CtrlCmd | KeyCode.KEY_E] </del> <ins> primary: KeyMod.CtrlCmd | KeyCode.KEY_E, </ins> } } });

} } } export abstract class MatchFindAction extends EditorAction { public run(accessor: ServicesAccessor, editor: ICodeEditor): void { let controller = CommonFindController.get(editor); if (controller && !this._run(controller)) { controller.start({ forceRevealReplace: false, <del> seedSearchStringFromSelection: (controller.getState().searchString.length === 0), </del> <ins> seedSearchStringFromSelection: (controller.getState().searchString.length === 0) && editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection, </ins> shouldFocus: FindStartFocusAction.NoFocusChange, shouldAnimate: true });

let currentSelection = editor.getSelection(); // we only seed search string from selection when the current selection is single line and not empty. let seedSearchStringFromSelection = !currentSelection.isEmpty() && <del> currentSelection.startLineNumber === currentSelection.endLineNumber; </del> <ins> currentSelection.startLineNumber === currentSelection.endLineNumber && editor.getConfiguration().contribInfo.find.seedSearchStringFromSelection; </ins> let oldSearchString = controller.getState().searchString; // if the existing search string in find widget is empty and we don't seed search string from selection, it means the Find Input // is still empty, so we should focus the Find Input instead of Replace Input.

registerEditorContribution(FindController); registerEditorAction(StartFindAction); <ins> registerEditorAction(StartFindWithSelectionAction); </ins> registerEditorAction(NextMatchFindAction); registerEditorAction(PreviousMatchFindAction); registerEditorAction(NextSelectionMatchFindAction);

export const FIND_IDS = { StartFindAction: 'actions.find', <ins> StartFindWithSelection: 'actions.findWithSelection', </ins> NextMatchFindAction: 'editor.action.nextMatchFindAction', PreviousMatchFindAction: 'editor.action.previousMatchFindAction', NextSelectionMatchFindAction: 'editor.action.nextSelectionMatchFindAction',