From 87234fcfe008a5aa5d96078a3de36785cf43cdb1 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 31 May 2023 16:03:53 +0200 Subject: [PATCH 1/3] Revert "When snippet mode is active, make `Tab` not accept suggestion but advance placeholder" This reverts commit 50a80cdb61511343996ff1d41d0b676c3d329f48. --- src/vs/editor/common/config/editorOptions.ts | 11 +++++++++++ .../contrib/suggest/browser/suggestController.ts | 10 +++++++--- .../suggest/test/browser/completionModel.test.ts | 1 + src/vs/monaco.d.ts | 4 ++++ 4 files changed, 23 insertions(+), 3 deletions(-) diff --git a/src/vs/editor/common/config/editorOptions.ts b/src/vs/editor/common/config/editorOptions.ts index 71285b0a840..0b0cb3f45ed 100644 --- a/src/vs/editor/common/config/editorOptions.ts +++ b/src/vs/editor/common/config/editorOptions.ts @@ -4134,6 +4134,10 @@ export interface ISuggestOptions { * Enable graceful matching. Defaults to true. */ filterGraceful?: boolean; + /** + * Prevent quick suggestions when a snippet is active. Defaults to true. + */ + snippetsPreventQuickSuggestions?: boolean; /** * Favors words that appear close to the cursor. */ @@ -4295,6 +4299,7 @@ class EditorSuggest extends BaseEditorOption{ insertMode: 'insert', + snippetsPreventQuickSuggestions: true, filterGraceful: true, localityBonus: false, shareSuggestSelections: false, diff --git a/src/vs/monaco.d.ts b/src/vs/monaco.d.ts index 5e53a179c5a..9074783798d 100644 --- a/src/vs/monaco.d.ts +++ b/src/vs/monaco.d.ts @@ -4543,6 +4543,10 @@ declare namespace monaco.editor { * Enable graceful matching. Defaults to true. */ filterGraceful?: boolean; + /** + * Prevent quick suggestions when a snippet is active. Defaults to true. + */ + snippetsPreventQuickSuggestions?: boolean; /** * Favors words that appear close to the cursor. */ From 2d797050eb38cace47d8cdd7c26ecb7027f53406 Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 31 May 2023 16:14:05 +0200 Subject: [PATCH 2/3] revert not focusing completion list when quick suggest happens during snippet --- .../editor/contrib/suggest/browser/suggestController.ts | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/vs/editor/contrib/suggest/browser/suggestController.ts b/src/vs/editor/contrib/suggest/browser/suggestController.ts index 1c7ae1482d5..543b487b798 100644 --- a/src/vs/editor/contrib/suggest/browser/suggestController.ts +++ b/src/vs/editor/contrib/suggest/browser/suggestController.ts @@ -246,14 +246,9 @@ export class SuggestController implements IEditorContribution { let noFocus = false; if (e.triggerOptions.auto) { - // don't "focus" item when configured to do so or when in snippet mode (and configured to do so) + // don't "focus" item when configured to do const options = this.editor.getOption(EditorOption.suggest); - - if (options.snippetsPreventQuickSuggestions && SnippetController2.get(this.editor)?.isInSnippet()) { - // SPECIAL: in snippet mode, we never focus unless the user wants to - noFocus = true; - - } else if (options.selectionMode === 'never' || options.selectionMode === 'always') { + if (options.selectionMode === 'never' || options.selectionMode === 'always') { // simple: always or never noFocus = options.selectionMode === 'never'; From 517370b79564522318dd3634b9b7b24c77bd53db Mon Sep 17 00:00:00 2001 From: Johannes Date: Wed, 31 May 2023 16:14:35 +0200 Subject: [PATCH 3/3] change `snippetsPreventQuickSuggestions` default to false --- src/vs/editor/common/config/editorOptions.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/vs/editor/common/config/editorOptions.ts b/src/vs/editor/common/config/editorOptions.ts index 0b0cb3f45ed..c61ed9326e5 100644 --- a/src/vs/editor/common/config/editorOptions.ts +++ b/src/vs/editor/common/config/editorOptions.ts @@ -4299,7 +4299,7 @@ class EditorSuggest extends BaseEditorOption