Tab

概述

Cursor Tab 是我们原生的自动补全功能。它是一个更强大的 Copilot,具有特别出色的记忆能力,可以提供完整的差异建议。

由自定义模型驱动,Cursor Tab 可以:

  • 在光标周围提供编辑建议,而不仅仅是插入额外的代码。
  • 同时修改多行代码。
  • 根据你最近的更改和 linter 错误提供建议。

免费用户可以免费获得 2000 次建议。Pro 和 Business 计划用户可以获得无限次建议。

用户界面

当 Cursor 仅添加额外文本时,补全内容将以灰色文本显示。如果建议修改现有代码,它将在当前行右侧显示为差异弹出框。

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/cpp/ghost-text-example.png

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/cpp/preview-box-example.png

你可以按 Tab 接受建议,或按 Esc 拒绝建议。要逐字部分接受建议,请按 Ctrl/⌘ →。要拒绝建议,只需继续输入,或使用 Escape 取消/隐藏建议。

每次按键或光标移动时,Cursor 都会尝试根据你最近的更改提供建议。但是,Cursor 不会总是显示建议;有时模型会预测不需要进行更改。

Cursor 可以修改当前行上方一行到下方两行的内容。

切换

要打开或关闭此功能,请将鼠标悬停在应用程序右下角状态栏中的 "Cursor Tab" 图标上。

常见问题

Tab 在写注释时会干扰,我该怎么办?

你可以通过进入 Cursor Settings > Tab Completion 并取消勾选 "Trigger in comments" 来禁用注释中的 Cursor Tab。

从 GitHub Copilot 迁移

Tab 改进

Cursor 和 GitHub Copilot 在代码补全方式上最大的区别。

GitHub Copilot 只能在光标位置插入文本。它不能编辑光标周围的代码或删除文本。

Cursor 不仅可以在光标处插入文本,还可以做更多:

  • 多字符编辑

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/cpp/multi-edit.png

  • 基于指令的编辑

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/cpp/instruct.png

此外,Cursor 在上下文窗口中保存了你最近更改的历史记录,所以它知道你接下来要做什么。

从 GitHub Copilot 迁移

由于 Cursor 默认带有 GitHub Copilot,你可能同时安装了 GitHub Copilot 和 Cursor。我们建议在使用 Cursor 时关闭 GitHub Copilot。

默认情况下,Cursor 优先于 GitHub Copilot。如果你想使用 GitHub Copilot,可以在设置中 禁用 Cursor

高级功能

预览中的 Tab

你也可以在"转到定义"或"转到类型定义"的预览视图中使用 Cursor Tab。这在添加函数调用的新参数时特别有用。

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/cpp/cpp-in-peek.png

我们特别喜欢在 vim 中结合 gd 使用它,例如,修改函数定义,然后一次性修复所有使用它的地方。

光标预测

Cursor 还可以预测你在接受编辑后会去哪里。如果可用,你可以按 tab 键转到下一个位置,允许你通过连续按 tab 键完成编辑。

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/cpp/cp.png

Cursor 预测了下一个位置,并在那里提供了编辑建议。

部分接受

你可以通过按 Ctrl/⌘ 和右箭头键接受建议的下一个单词(或通过将 editor.action.inlineSuggest.acceptNextWord 设置为你喜欢的快捷键)。

要启用部分接受,请导航到 Cursor Settings > Features > Cursor Tab