Chat
概述
Cursor Chat 让你可以在编辑器中使用最强大的语言模型来提问或解决代码库中的问题。
为了让语言模型给出好的答案,它们需要了解与你的代码库相关的具体内容 — 即上下文。
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
。
自定义
选择 AI 模型
通过 模型切换器 选择你喜欢的 AI 模型,Cursor Chat 将使用该模型生成响应。你可以通过按 Ctrl/⌘ /
在模型之间切换。
默认情况下,Cursor Chat 使用 OpenAI 的 GPT-4
作为其 AI 模型(具体来说,gpt-4
标签指向我们的 GPT4-Turbo 实例)。
你为聊天选择的 AI 模型将保存供将来会话使用,因此你不必每次打开 Cursor Chat 时都更改它。
在编辑器中使用
Cursor Chat 也可以通过点击水平的"More"按钮,然后点击"Open Chat in Editor"按钮作为编辑器标签使用。Cursor Chat 随后将表现为常规编辑器标签。按 Ctrl/⌘ + L
将打开聊天标签并聚焦到它。
设置
你可以在 Cursor Settings
> Features
> Chat
下自定义 Cursor Chat。
这些设置包括:
- 始终搜索网络获取答案。
- 这将使 AI 模型在每次查询时浏览网络以获取最新信息。
- 添加聊天淡入动画。
- 这会在生成 AI 消息时添加平滑动画。
- 自动滚动聊天。
- 当在线程底部时,这将在 AI 生成文本时自动滚动聊天。
- 聊天面板中的窄滚动条。
- 开始新聊天时显示聊天历史。
与代码库一起使用
默认代码库聊天
如果代码库未 建立索引,Cursor Chat 将首先尝试计算几个搜索查询,用于在代码库中搜索。为了获得更好的准确性,建议使用 嵌入式搜索。
嵌入式搜索
通过 代码库索引,Cursor Chat 可以根据你的代码库准确生成响应。
通过在输入消息后按 Ctrl/⌘ + Enter
,Cursor Chat 会扫描已索引的代码库以找到相关的代码片段。这通常适用于快速包含要纳入对话上下文的代码片段。要更好地控制代码库搜索并获得更高的准确性,你可以使用 @codebase
。
高级代码库搜索
使用 @Codebase
时,Cursor 代码库聊天会进行更详细的搜索。
在 这里 查看更多关于 @Codebase
的信息。
应用
Cursor 的 Apply
功能允许你快速将聊天中的代码块建议集成到你的代码中。
应用代码块
要应用代码块建议,你可以点击每个聊天代码块右上角的播放按钮。
这将编辑你的文件以合并聊天生成的代码。由于你可以在聊天中添加最多的上下文并与模型进行最多的来回交互,我们建议对于更复杂的 AI 驱动代码更改使用聊天 + 应用功能。
接受或拒绝
应用代码块后,你可以查看差异并接受或拒绝更改。你也可以点击聊天代码块右上角的"Accept"或"Reject"按钮。
Ctrl/⌘ Enter
接受,Ctrl/⌘ Backspace
拒绝。