When there is both a Copilot and an Intellisense suggestion, tab always chooses the Copilot suggestion in Cursor. In VSCode, tab chooses the Intellisense suggestion, which is often more correct. Why?
This is intentional!
In Cursor:
- Tab always accepts Copilot’s ghost text.
- Enter always accepts the selected snippet from the Intellisense dropdown.
In VSCode, as of writing this, there is a race condition between Copilot and Intellisense: if Copilot gives a suggestion before Intellisense, no Intellisense will ever show up, and if Intellisense gives a suggestion before Copilot, no Copilot ghost text will ever show up. They have this race condition because both Copilot and Intellisense are accepted by the same key (tab).
We think it makes more sense to separate the two out: tab is always for Copilot; Enter is always for Intellisense. This gets rid of the race condition, allows you to see both suggestions at the same time, and, in my opinion, is better for your muscle memory.
That said, it may take some time getting used to. If you prefer VSCode’s way of handling this, or you wish we handled this a different way, please let me know!
is there any way to customize this? I like the vscode’s way of handling this
Currently there’s not a way to customize this. I’ll look into adding a setting for this!
Thank you @arvid220u! It’s one thing that’s keeping me from fully using cursor. Would consider to buy pro plan if this is customizable
Adding setting here! Currently waiting for this PR to be merged in vscode: Add setting to allow inline completions and suggest widget to coexist by arvid220u · Pull Request #196182 · microsoft/vscode · GitHub
I want the same behaviour as Github Copilot, accept auto complete if present with tab, if instead i want the Copilot++, press esc and then tab
I really want the “Accept Completion” hotkey to be configurable. Coming from VS Code where tab prioritizes the suggestions dropdown menu, having that always accept the Copilot++ suggestion is frustrating because then I spend more time fixing code than being productive.
This feels like a very opinionated decision — it should be up to the end user to configure the hotkeys they find make most sense for them.
If it helps someone, I was able to configure a different shortcut for intellicence, while using tab for cursor tab. I also set intellicence to not auto display unless I press a shortcut. However in my case I never really use intellicence, but if I ever need that menu I can bring it up.
I like my return key to always insert a new line, not to accept suggestions, so my workaround for this was to add a keybind for the acceptSelectedSuggestion
event. Now I can hit tab to accept Copilot’s suggestions, and shift+tab to accept IntelliSense’s:
{
"key": "shift+tab",
"command": "acceptSelectedSuggestion",
"when": "suggestWidgetHasFocusedSuggestion && suggestWidgetVisible && suggestionMakesTextEdit && textInputFocus"
}
Hey @arvid220u, the PR you mentioned was closed without merging.
I prefer VSCode’s way of handling this. Changing this default is very opinionated and makes migrating to Cursor a pain.
How can we customize this?
Is there any news on this point? Is this configurable yet?
+1
My entire team has switched over to Cursor and the sentiment is shared that it feels like we’re wrestling with Cursor half the time. Trying to just insert tabs and as your finger is on it’s way down to the tab key an autocomplete suggestion pops up and you end up accepting a suggestion instead of inserting the tab.
Same with intellisense suggestions that hide the Cursor suggestion and you think hitting tab will accept the intellisense suggestion and it ends up putting in the incorrect Cursor suggestion instead. Very frustrating.
wrestling with Cursor half the time
It accurately describes how I feel
This sentiment is also shared by members in my team - its very frustrating to expect an intellisense suggestion only for co pilot to jump in with its result.
Other copilots like codeium and supermaven give intellisense priority over the ai suggestions and this works quite well and removes the race condition.
Will this be fixed / changed in a future update?
We still have the work to change the tab key’s accept and reject keybinds as some work to do internally, but it has not yet been done and I’ve unfortunately been unable to provide an ETA yet. I appreciate this is a blocker for IntelliSense users, so I’ll throw this to the team to try and prioritise it!
@danperks Instead of adding a keybinding configuration for Copilot you should just give higher priority to VSCode intellisense suggestions, then users that prefer using Tab instead of the native intellisense can add a keybinding to show the suggestions (like ctrl+space) and hide them by default on typing. That’s what I do with SuperMaven
Same for me, this extremely frustrating when it’s clear that other editors have solved this.