-
Notifications
You must be signed in to change notification settings - Fork 29.7k
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
If Intellicode Whole Line Completions are displayed, the suggestions widget does not open #131940
Comments
This is actually by design (the ghost text should not disappear when typing the text as suggested). |
"the item from the ghost text is preselected", can you please clarify this? In the above scenario, since ".socket" is in the whole line completion, would "socket" be selected in the suggestions widget? |
Yes, when the autocomplete opens automatically while the cursor is in ghost text, the preselected item should agree with the ghost text. |
That sounds great! Do you have an estimate as to when this would be implemented? |
This milestone hopefully (i.e. early October). |
@juihanamshet1 @Krzysztof-Cieslak @orph what do you think about this? |
There's no guarantee that result returned by the Copilot is in the list of the completions for given location |
You mean that a non-empty prefix of a copilot suggestion appears in the suggest widget? |
…matically opening anymore if suggest preview is enabled. Instead, the first inline suggestion is used to preselect an item in the suggest widget.
@Krzysztof-Cieslak @juihanamshet1 the feature will be available in tomorrows insiders build of VS Code. |
I see there's a test plan item for this so marking as on-tesplan instead of verification-needed |
@hediet this is the first I've heard of this, sorry I missed it. Can you please verify that the InlineCompletionItem itself will be listed in the popup? Since we don't currently register a regular completion item handler, only the inline version, will this mean a valid inline completion will just stop displaying in order to show the completion popup? |
A "valid" inline completion item will only be not shown with this new behavior if no proper prefix of it is suggested by the autocomplete. |
@hediet I guess that might depend on how good the auto-complete info is for a particular language. Is this behaviour going to be enabled for all languages? Also is there any event when an inline completion item gets rejected by this logic? |
Yes.
No - they are not rejected, simply just not shown.
Do you have an example where this is not good? |
Just stumbling upon this thread after trying out Copilot with Golang in VSCode for a few weeks now. I think @jonahkagan did a good job of outlining what an intuitive behavior should be, at least for my workflow. The Copilot suggestions are great most of the time but when I hit certain trigger points (such as a dot) I nearly always want to see what my valid available options are and select from them, rather than have a suggestion that may not be valid. Maybe it's just me though. Just one more data point.
This might work for some people, personally I've gotten used to IntelliSense suggestions coming up automatically at certain points without having to remember to hit another key. |
IMO, the best user experience would be having copilot code as list items in the suggestions window. Combine that with the suggestion-preview setting and you'd be able to mix and match LSP and Copilot suggestions. Take a look at this neovim plugin to see examples of this exact behavior. It works very well! |
I've been using Copilot for the past few weeks, and, this is, by far, the most annoying thing about it. Could you at least make Copilot suggest valid things? For example, this is Copilot suggestion for the Flutter launch_url plugin: However, the LaunchMode has no such option:
This makes no sense, and it happens over and over again, making using Copilot very frustrating and slowing down development. |
Just gonna drop this here for Copilot users: [
{
"key": "alt+right",
"command": "editor.action.inlineSuggest.showNext",
"when": "textInputFocus && inlineSuggestionVisible"
},
{
"key": "alt+left",
"command": "editor.action.inlineSuggest.showPrevious",
"when": "inlineSuggestionVisible && textInputFocus"
},
{
"key": "alt+down",
"command": "editor.action.triggerSuggest",
"when": "editorHasCompletionItemProvider && textInputFocus && !editorReadonly && !suggestWidgetVisible && inlineSuggestionVisible"
}
] These are the keybindings I use with vscode which really work great for me and solves this issue for me. The important one is The other two are to cycle through the copilot suggestions of you are not happy with the suggestion |
This should be much improved in the latest VS Code Stable. Can you all please try it out and let us know how it behaves for you? Thanks all 👏 |
Seems to behave much better! |
@lcrownover can you provide some details. What makes it better for you? Thanks! |
@isidorn I successfully get the suggestions dropdown (LSP, etc) while the copilot ghost text is shown in the background. I can hit |
@isidorn There are still times when I expect IntelliCode to suggest methods when I hit a dot, but only CoPilot's suggestions appear. I have attempted this on both VSCode 1.78.2 (system setup) and 1.79.0-insider (system setup), along with GitHub Copilot Nightly v1.86.118. All plugins are up-to-date. |
@isidorn Trying the new behaviour and it seems to be still broken, if copilot suggestion kicks in before I hit the Any idea what could be wrong? env:
|
This should work for all extensions who don't set the suppressSuggestions flag in the returned inline completions result. Copilot sets it to |
@hediet So is there a way to get it working? Or do I have to choose between copilot and language server suggestions showing automatically (without using the suggestions shortcut)? |
What I'd really like to see are Copilot suggestions appearing in the intellisense dropdown, with configuration options on how many to show, the position in the list to use, etc (e.g., always insert the top copilot suggestion at the top, then N intellisense results, then Y copilot results, then the rest of intellisense). I think it would be worth re-opening this or creating a new issue to that end. The real issue with the copilot UI is that it is fighting the already-mature intellisense dropdown rather than having suggestions appear there. |
I whole-heartedly agree with this. |
Just to let you know that we have pushed a fix so that now suggest widget is NOT suppressed by default. |
Does this issue occur when all extensions are disabled?: Yes/No
Steps to Reproduce:
Open the attached .txt file, convert it to a typescript .ts file
main.txt
In line 5, type
s=
and you should see a gray text IntelliCode completion.When you type what the completion shows, and get to typing a dot, ".".
When you type a ".", it is expected you see the suggestions widget. But the suggestions widget does not show up in the presence of gray text completion.
GIF -
The text was updated successfully, but these errors were encountered: