diff --git a/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/findandreplace/overlay/FindReplaceOverlay.java b/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/findandreplace/overlay/FindReplaceOverlay.java index 850eadf50c5..ed4d1fbdfd3 100644 --- a/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/findandreplace/overlay/FindReplaceOverlay.java +++ b/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/internal/findandreplace/overlay/FindReplaceOverlay.java @@ -501,6 +501,8 @@ private void createCloseTools() { // Also close on Ctrl+F: otherwise it would reopen (a duplicate of) this very overlay. commandSupport.registerAction( new FindReplaceOverlayAction(this::close, IWorkbenchCommandConstants.EDIT_FIND_AND_REPLACE)); + commandSupport.registerAction(new FindReplaceOverlayAction(this::triggerContentAssist, + ITextEditorActionDefinitionIds.CONTENT_ASSIST_PROPOSALS)); // Close button new AccessibleToolItemBuilder(closeTools).withStyleBits(SWT.PUSH) @@ -976,6 +978,14 @@ private void updateContentAssistAvailability() { setContentAssistsEnablement(findReplaceLogic.isAvailableAndActive(SearchOptions.REGEX)); } + private void triggerContentAssist() { + if (searchBar.isFocusControl() && contentAssistSearchField.isEnabled()) { + contentAssistSearchField.openProposalPopup(); + } else if (okayToUse(replaceBar) && replaceBar.isFocusControl() && contentAssistReplaceField.isEnabled()) { + contentAssistReplaceField.openProposalPopup(); + } + } + private void decorate() { if (findReplaceLogic.isAvailableAndActive(SearchOptions.REGEX)) { SearchDecoration.validateRegex(getFindString(), searchBarDecoration);