Copilot and intellisense: tab always triggers copilot over intellisense?

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:

  1. Tab always accepts Copilot’s ghost text.
  2. 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!

2 Likes

is there any way to customize this? I like the vscode’s way of handling this

@arvid220u

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 :grin:

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