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