-
Notifications
You must be signed in to change notification settings - Fork 29.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Completion trigger behavior on word start characters changed in 1.79 #185286
Comments
Yes, we made that change on purpose and to make it easier to use quick suggestion. It would be best if you can update your extension accordingly. Let us know if you need further help |
I'm not sure if this is the right place to provide feedback on an issue like this, but this issue was intensely frustrating for us. VSCode constantly prompts users to update to the latest version. The VSCode C# extension is the 4th most popular language extension (18th overall) on the marketplace with 22M downloads. It's an official Microsoft extension, so it's surprising to me these changes weren't identified as risky and tested against language extensions that offer auto complete. It's annoying enough that I've just switched off automatic updates. |
Sorry that you had such an experience but let me explain why we thought (and still think) this is a low risk change. Suggestions in VS Code can be triggered manually ( It's important to know that the API is defined so that extensions can not know if suggest has been requested manually or automatically. For an extension both request appear as the same. Now to the change: until 1.79 quick suggestions have been limited to word ends, with 1.79 quick suggestions also happen when typing at word starts. Quick suggestion does not happen when typing inside words. Effectively extensions are much more likely being invoked at word starts but the fact that suggestions are being invoked at word starts isn't something new. (You can validate that by triggering suggestions manually at a word start with earlier versions of VS Code and C#.) It seems that this change in asking for suggestion has exposed some kind of bogus behaviour in the C# extensions (and TBH that's the only extension we have heard about). I am sorry, this wasn't caught earlier. The change was in Insiders for a few weeks but it looks the C# insiders usage is low or this issue wasn't perceived as so bad. So, this my invitation to you and others to use Insiders and help you iron these things out. |
While I've been a long time VSCode user, this will force me to switch editors. Such a frustrating change. |
incredibly annoying |
@nullism why not wait for OmniSharp/omnisharp-roslyn#2542 to ship? |
@gjsjohnmurray oh, I missed that! Yeah, I'll do that. Thanks! Will continue playing with Jetbrain's Fleet in the meantime (seems pretty okay). |
Just wanted to followup on this from my side. Version 1.26.0 of the C# extension has just been released which should fix the issue there. |
Can confirm it is fixed for me! Thanks for the update! |
Does this issue occur when all extensions are disabled?: No, requires an extension to provide completions. The sample completion extension is good enough to illustrate the issue.
It looks like completion trigger behavior changed sometime between 1.78.2 and 1.79.2. Previously (in 1.78.2), it looks like completion providers did not get triggered if you started typing at the beginning of an existing word. In 1.79.2 it appears as though this changed to call completion providers when typing at the beginning of an existing word.
This is leading to bug reports on our extension that completion is replacing too much. dotnet/vscode-csharp#5801. I can make a change to fix this behavior on the extension side, but wanted to first check if this behavior change was expected on the vscode side first.
Steps to Reproduce:
I used the sample extension to reproduce the issue. See dibarbet/vscode-extension-samples@bb0a037 for the exact code I used.
With 1.79.2 installed:
Example -
Then, downgrade to 1.78.2:
Example -
The text was updated successfully, but these errors were encountered: