diff --git a/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/KeyBindingSupportForAssistant.java b/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/KeyBindingSupportForAssistant.java index 9c01afbb6a1..8803e00fbdf 100644 --- a/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/KeyBindingSupportForAssistant.java +++ b/bundles/org.eclipse.ui.workbench.texteditor/src/org/eclipse/ui/texteditor/KeyBindingSupportForAssistant.java @@ -136,6 +136,11 @@ public KeyBindingSupportForAssistant(IQuickAssistAssistant quickAssistAssistant) @Override public void assistSessionStarted(ContentAssistEvent event) { + // Do not replace commands twice if several processors are registered. This + // method gets called for each processor. + if (fReplacedCommands != null && !fReplacedCommands.isEmpty()) { + return; + } ICommandService commandService= PlatformUI.getWorkbench().getService(ICommandService.class); IHandler handler= getHandler(ContentAssistant.SELECT_NEXT_PROPOSAL_COMMAND_ID); fReplacedCommands= new ArrayList<>(10);