光标聊天 (Cursor Chat) 让您可以使用最强大的语言模型在编辑器中提出问题或解决代码库中的问题。

为了使语言模型给出良好的答案,它们需要知道与您的代码库相关的具体内容——上下文。

Cursor 有多种内置功能可在聊天中提供上下文,例如自动包含整个代码库的上下文、搜索网络、索引文档以及用户指定的代码块引用。这些功能旨在消除使用语言模型处理代码时必须进行的繁琐的复制粘贴操作。

默认情况下,光标聊天位于 AI 窗格中,该窗格位于主侧边栏的对面。您可以按 切换 AI 窗格Ctrl/⌘ + L,打开后会聚焦于聊天。要提交您的查询,请按Enter。

用户和人工智能消息

用户消息包含您输入的文本以及您引用的上下文。您可以返回任何先前的用户消息来编辑并重新运行查询。这将覆盖之后的所有消息并重新生成新消息。

AI 消息是从您选择的 AI 模型生成的响应。它们与之前的用户消息配对。AI 消息可能包含已解析的代码块,可以使用即时应用将其添加到您的代码库中。

所有用户/AI消息在同一个线程中称为聊天线程,每个聊天线程都保存在您的聊天历史记录中。

聊天记录

点击 AI 面板右上角的“上一个聊天”按钮,或者按Ctrl/⌘ + Alt/Option + L,即可查看聊天记录。您可以点击任何聊天主题返回并查看组成该主题的消息,还可以点击笔图标修改主题标题,或者将鼠标悬停在历史记录中的主题上,点击垃圾桶图标删除主题。

Cursor 线程的标题只是第一条用户消息的前几个字。

默认上下文

默认情况下,Cursor Chat 将当前文件作为上下文。您可以按提交提交查询而不包含任何上下文,或者在> >Alt/Option Enter下打开。以无上下文请求开头的聊天不会为任何消息添加上下文。Default to no contextCursor SettingsFeaturesChat

在您输入内容时,您可以看到输入框下方的药丸中包含的上下文内容。

添加上下文

默认情况下,用户消息将包含您输入的文本以及您引用的上下文。您可以使用 @ 符号向每个气泡添加更多自定义上下文,默认情况下,当前查看的文件也将用作用户消息中的上下文。

聊天中的 AI 修复

修复代码库中的 linter 错误的一个便捷功能是使用聊天中的 AI 修复。为此,请将鼠标悬停在编辑器中的错误上,然后单击显示的蓝色 AI 修复按钮。

此操作的键盘快捷键是Ctrl/⌘ + Shift + E。

 

长时间上下文聊天(测试版)

Cursor Settings您可以通过> Beta>启用长上下文聊天Long Context Chat。启用此功能后,您可以通过 切换不同的聊天模式Ctrl/⌘ .。

长上下文聊天允许您将整个文件夹作为上下文,因为支持的模型具有更大的上下文窗口。

选择 AI 模型

通过模型切换按钮选择您喜欢的 AI 模型,Cursor Chat 将使用该模型生成响应。您可以按 在模型之间切换Ctrl/⌘ /

默认情况下,Cursor Chat 使用 OpenAIGPT-4作为其 AI 模型(具体来说,gpt-4标签指向我们的 GPT4-Turbo 实例)。

您为聊天选择的 AI 模型将被保存以供将来的会话使用,因此您不必在每次打开 Cursor Chat 时都更改它。

 

在编辑器中

光标聊天还可以用作编辑器选项卡,方法是单击水平“更多”按钮,然后单击“在编辑器中打开聊天”按钮。光标聊天将作为常规编辑器选项卡运行。按下Ctrl/⌘ + L将调出聊天选项卡并聚焦于它。

设置

Cursor Settings您可以在> Features>下自定义光标聊天Chat

这些设置包括:

  • 总是在网上搜索答案。
    • 这将使人工智能模型浏览网页以获取每个查询的最新信息。


  • 添加聊天淡入动画。

    • 这会在 AI 消息生成时为其添加流畅的动画。


  • 默认无上下文。

    • 这将使得AI模型仅使用用户消息作为上下文,并且不会包含当前文件等其他上下文。


  • 自动滚动聊天。

    • 当 AI 位于线程底部时会生成文本,这将自动滚动聊天。


  • 聊天窗格中的窄滚动条。

  • 开始新聊天时显示聊天记录。

默认代码库聊天

如果代码库未编入索引,Cursor Chat 将首先尝试计算一些搜索查询,用于搜索代码库。为了获得更高的准确性,建议使用嵌入搜索

 

通过代码库索引,Cursor Chat 可以根据您的代码库准确地生成响应。

在输入消息后按下Ctrl/⌘ + Enter,Cursor Chat 会扫描索引的代码库以查找相关代码片段。这通常适用于快速将代码片段纳入对话上下文中。为了更好地控制代码库搜索并获得更高的准确性,您可以使用@codebase

 

@Codebase光标代码库聊天在使用时会经过更详细的搜索。

 

CursorApply允许您将聊天中的代码块建议快速集成到您的代码中。

应用代码块

要应用代码块建议,您可以按下每个聊天代码块右上角的播放按钮。

 

这将编辑您的文件以整合 Chat 生成的代码。由于您可以在 Chat 中添加最多的上下文并与模型进行最多的来回交流,因此我们建议使用 Chat + Apply 来进行更复杂的 AI 驱动的代码更改。

接受或拒绝

应用代码块后,您可以查看差异并接受或拒绝更改。您也可以点击聊天代码块右上角的“接受”或“拒绝”按钮。

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