What is Copilot++?

Cursor’s Copilot++ is a more powerful Copilot, built especially to make changing code easy. Copilot++ can:

  • Make suggestions based on a history of your recent changes, so it understands your intent.
  • Suggest edits around your cursor, not just insertions of additional code.
  • Modify multiple lines at once.
  • Make suggestions based on linter and compiler error messages in your editor.

Copilot++ uses a custom model and offers unlimited suggestions for Pro and Business plans. Free users receive 2000 suggestions at no cost.

Copilot++ Suggestions

Copilot++ suggestions will appear as ghost texts in the editor when Copilot++ is only adding additional text. If the suggestion modifies existing code, it will appear as a diff popup to the right of your current line.

You can accept a suggestion by pressing Tab, or reject it by pressing Esc. To partially accept a Copilot++ suggestion word-by-word, press Ctrl/⌘ →. To reject a suggestion, just keep typing, or use Escape to cancel/hide the suggestion.

Every keystroke or cursor movement, Copilot++ will attempt to make a suggestion based on your recent changes. However, Copilot++ will not always have a suggestion if the code does not need to be changed. Copilot++ can make changes from one line above to two lines below your current line.

Copilot++ Settings

To turn Copilot++ on or off, click on “Copilot++"" icon on the bottom status bar and disable Copilot++ either globally or for the current language. If the Copilot++ button already has a strike-through, that means it is disabled. The same menu can also be accessed under Cursor Settings > Features > Copilot++.

Further, a button to disable Copilot++ would also appear if you hover over a Copilot++ suggestion. You can also toggle Copilot++ by pressing Ctrl/⌘ + Shift + P and typing “Enable Copilot++” or “Disable Copilot++“. If you prefer to use a keyboard shortcut, you can set one in the keyboard shortcut settings.

Finally, you can choose to use our legacy Copilot++ model, which may work better in foreign languages and generating new code, but it is much slower. For most users, we recommend staying on the default model.