Chat

概述

Cursor Chat 讓你可以在編輯器中使用最強大的語言模型來提問或解決代碼庫中的問題。

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

為了讓語言模型給出好的答案,它們需要了解與你的代碼庫相關的具體內容 — 即上下文。

Cursor 內置了幾個在聊天中提供上下文的功能,比如自動包含整個代碼庫的上下文、搜索網絡、索引文檔以及用戶指定的代碼塊引用。這些功能的設計目的是消除在處理代碼時使用語言模型所需的繁瑣複製粘貼工作。

默認情況下,Cursor Chat 位於 AI 面板中,該面板位於主側邊欄的對面。你可以通過按 Ctrl/⌘ + L 切換 AI 面板,打開時會聚焦到聊天框。要提交查詢,請按 Enter

用戶和 AI 消息

用戶消息包含你輸入的文本以及你引用的上下文。你可以返回到任何之前的用戶消息來編輯和重新運行查詢。這將覆蓋之後的任何消息並生成新的消息。

AI 消息是由你選擇的 AI 模型生成的響應。它們與之前的用戶消息配對。AI 消息可能包含可以通過 即時應用 添加到代碼庫中的已解析代碼塊。

同一線程中的所有用戶/AI 消息統稱為聊天線程,每個聊天線程都保存在你的聊天歷史記錄中。

聊天歷史

通過點擊 AI 面板右上角的"Previous Chats"按鈕,或按 Ctrl/⌘ + Alt/Option + L,你可以查看聊天歷史。你可以點擊任何聊天線程返回查看組成該線程的消息,也可以通過點擊筆形圖標修改線程標題,或在歷史記錄中懸停在線程上時點擊垃圾桶圖標刪除線程。

Cursor 線程的標題就是第一條用戶消息的前幾個詞。

默認上下文

默認情況下,Cursor Chat 包含當前文件作為上下文。你可以通過刪除消息中的當前文件標籤來提交不包含任何上下文的查詢。在輸入時,你可以在輸入框上方的標籤中看到將包含在上下文中的內容。

添加上下文

默認情況下,用戶消息將包含你輸入的文本以及你引用的上下文。你可以使用 @ 符號為每個氣泡添加更多自定義上下文,默認情況下,當前查看的文件也會在用戶消息中用作上下文。

有關更多信息,請參閱 @ 符號 頁面。

聊天中的 AI 修復

在聊天中使用 AI 修復是修復代碼庫中 linter 錯誤的便捷功能。要使用此功能,請將鼠標懸停在編輯器中的錯誤上,然後點擊出現的藍色 AI 修復按鈕。

此功能的鍵盤快捷鍵是 Ctrl/⌘ + Shift + E

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/chat/ai-fix.png

自定義

選擇 AI 模型

通過 模型切換器 選擇你喜歡的 AI 模型,Cursor Chat 將使用該模型生成響應。你可以通過按 Ctrl/⌘ / 在模型之間切換。

默認情況下,Cursor Chat 使用 OpenAI 的 GPT-4 作為其 AI 模型(具體來說,gpt-4 標籤指向我們的 GPT4-Turbo 實例)。

你為聊天選擇的 AI 模型將保存供將來會話使用,因此你不必每次打開 Cursor Chat 時都更改它。

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/chat/model-toggle.png

在編輯器中使用

Cursor Chat 也可以通過點擊水平的"More"按鈕,然後點擊"Open Chat in Editor"按鈕作為編輯器標籤使用。Cursor Chat 隨後將表現為常規編輯器標籤。按 Ctrl/⌘ + L 將打開聊天標籤並聚焦到它。

設置

你可以在 Cursor Settings > Features > Chat 下自定義 Cursor Chat。

這些設置包括:

  • 始終搜索網絡獲取答案。
    • 這將使 AI 模型在每次查詢時瀏覽網絡以獲取最新信息。
  • 添加聊天淡入動畫。
    • 這會在生成 AI 消息時添加平滑動畫。
  • 自動滾動聊天。
    • 當在線程底部時,這將在 AI 生成文本時自動滾動聊天。
  • 聊天面板中的窄滾動條。
  • 開始新聊天時顯示聊天歷史。

與代碼庫一起使用

默認代碼庫聊天

如果代碼庫未 建立索引,Cursor Chat 將首先嘗試計算幾個搜索查詢,用於在代碼庫中搜索。為了獲得更好的準確性,建議使用 嵌入式搜索

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/chat/no-embeddings.png

嵌入式搜索

通過 代碼庫索引,Cursor Chat 可以根據你的代碼庫準確生成響應。

通過在輸入消息後按 Ctrl/⌘ + Enter,Cursor Chat 會掃描已索引的代碼庫以找到相關的代碼片段。這通常適用於快速包含要納入對話上下文的代碼片段。要更好地控制代碼庫搜索並獲得更高的準確性,你可以使用 @codebase

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/chat/embeddings.png

高級代碼庫搜索

使用 @Codebase 時,Cursor 代碼庫聊天會進行更詳細的搜索。

這裡 查看更多關於 @Codebase 的信息。

應用

Cursor 的 Apply 功能允許你快速將聊天中的代碼塊建議集成到你的代碼中。

應用代碼塊

要應用代碼塊建議,你可以點擊每個聊天代碼塊右上角的播放按鈕。

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/chat/apply.png

這將編輯你的文件以合併聊天生成的代碼。由於你可以在聊天中添加最多的上下文並與模型進行最多的來回交互,我們建議對於更複雜的 AI 驅動代碼更改使用聊天 + 應用功能。

接受或拒絕

應用代碼塊後,你可以查看差異並接受或拒絕更改。你也可以點擊聊天代碼塊右上角的"Accept"或"Reject"按鈕。

Ctrl/⌘ Enter 接受,Ctrl/⌘ Backspace 拒絕。

https://mintlify.s3.us-west-1.amazonaws.com/cursor/images/chat/accept-apply.png