vscode: Trigger (full) completions when (incomplete) completions are already active

  • VSCode Version: 1.45.1
  • OS Version: macOS 10.15.1

I’m part of the team that builds the Kite extension. Via https://github.com/microsoft/vscode/issues/11935, our understanding is that if we specify special triggers, IntelliSense will not wait for all providers to complete.

However, we’re seeing instances where after a special character is typed, the subsequent alphabetical character does not return completions from IntelliSense anymore, even though we setisIncomplete to true, expecting the completions list to refresh on every keystroke.

For our extension, we’ve defined “,” and “space” as triggers in the first example. Notice how only our completions appear after typing e for err initially.

special

With the triggers removed, now suggestions for e from IntelliSense appear immediately.

no_special

Does this issue occur when all extensions are disabled?: No

About this issue

  • Original URL
  • State: closed
  • Created 4 years ago
  • Comments: 15 (8 by maintainers)

Commits related to this issue

Most upvoted comments

@edzkite This should be in next 1.49 insiders which should appear end of this week

How does this differ to situations where the completions list is able to refresh itself? When isIncomplete is toggled to true?

We always assume that there are multiple providers and when inComplete: true is used only those providers that marks their completion list as incomplete are re-queried, results from other providers are merged in.

Is it possible to get the behavior of (1) in this case, and how involved would the code change be?

No sure what you mean

Alternatively, can we “cancel” the current list on the next keystroke if we show completions for these special characters?

Your provider can always return something “falsy”, like undefined or [], which can then cancel the suggest session (assuming there are no other completions)