Chat 功能 ¶
Cursor作为一款AI驱动的代码编辑器,其Chat功能是其核心亮点之一。Chat(之前称为“Composer”)是Cursor内置于侧边栏的AI助手,允许开发者通过自然语言与代码库互动。您可以提出问题、请求代码编辑、获取终端命令建议等,而无需切换上下文。以下将详细介绍Cursor Chat的功能、模式、工具和具体应用场景,帮助您全面了解并高效使用这一功能。
一、Cursor Chat功能概述 ¶
Cursor Chat是一个智能AI助手,位于编辑器的侧边栏中,旨在通过自然语言交互帮助开发者更高效地处理编码任务。它不仅仅是一个简单的问答工具,而是能够理解代码库上下文、执行代码修改和自动化工作流程的强大助手。以下是Chat的核心能力:
- 理解代码:可以回答关于代码的问题、解释不熟悉的代码片段或帮助探索代码库。
- 编辑代码:支持从小的调整到多文件的大规模更改,无需手动导航文件。
- 运行命令:根据具体用例提供终端命令建议。
- 自动化工作流程:让Cursor搜索、推理并执行任务,自动化繁琐的工作流程。
快速入门 ¶
要使用Chat功能,您可以通过快捷键⌘+L(Mac)或Ctrl+L(Windows/Linux)打开侧边栏中的Chat界面。打开后,只需用自然语言输入您的请求,AI会根据您的需求做出相应响应。
更多关于Chat的介绍,请参考官方文档。
二、Chat的主要模式 ¶
Cursor Chat提供了多种模式,每种模式针对特定任务进行了优化。用户可以根据当前需求通过模式选择器或快捷键⌘.切换模式。以下是Chat的四种主要模式及其特点和用法:
1. Agent模式 ¶
- 功能概述:Agent模式允许Cursor自主学习您的代码库,并在您的授权下对代码库进行全面更改。这是Chat中最强大的模式,适合需要大规模代码修改或功能实现的场景。
- 特点:能够自动分析代码库、规划更改并执行代码编辑,支持跨文件修改和添加新文件或依赖。
- 用法:在Agent模式下,您只需描述想要实现的功能或更改(例如“添加一个用户登录功能”),Chat会自动分析相关文件并提出修改建议。您可以审查建议并决定是否应用。
- 适用场景:实现新功能、重构代码库、设置新项目。
- 参考文档:Agent模式文档
2. Ask模式 ¶
- 功能概述:Ask模式专注于提供解释和回答关于代码库的问题,同时可以与AI一起规划功能。
- 特点:适合需要理解代码或讨论解决方案的场景,代码更改需要手动应用(通过“Apply”按钮)。
- 用法:在Ask模式下,您可以询问关于代码的问题(例如“解释这段函数的作用”),或与AI讨论功能规划。AI会提供详细的回答或建议,但不会自动修改代码。
- 适用场景:学习代码、获取解释、规划功能实现。
- 参考文档:Ask模式文档
3. Manual模式 ¶
- 功能概述:Manual模式(之前称为Composer)适用于需要专注编辑的场景,仅使用您提供的上下文。
- 特点:提供更精准的控制,AI不会自动分析整个代码库,仅基于您手动指定的上下文进行建议。
- 用法:在Manual模式下,您可以手动指定相关文件或代码片段,并请求AI进行特定编辑。这种模式适合小范围修改或特定任务。
- 适用场景:小规模代码调整、特定文件编辑。
- 参考文档:Manual模式文档
4. Custom Modes(自定义模式) ¶
- 功能概述:自定义模式允许用户创建适合特定工作流程的模式,满足个性化需求。
- 特点:可以为每个自定义模式选择固定的模型(例如为“Planning”模式选择
o1模型),并定义特定行为或规则。 - 用法:在设置中创建自定义模式,指定模式名称、适用模型和行为规则。创建后,您可以通过模式选择器切换到自定义模式。
- 适用场景:特定项目需求、个性化工作流程。
- 参考文档:自定义模式文档
三、Chat的工具和功能特性 ¶
Cursor Chat提供了多种工具和特性,支持更高效的交互和代码管理。以下是主要工具和功能的详细介绍:
1. 上下文理解(Context) ¶
- 功能概述:Chat通过分析以下内容理解您的代码库:当前打开的文件、使用
@-symbols引用的特定代码元素、以及项目结构和依赖关系。 - 特点:Chat界面会根据您的查询建议相关上下文,确保回答和建议的准确性。
- 用法:在与Chat交互时,您可以使用
@-symbols快速引用特定文件或函数(例如@main.py),Chat会自动将这些元素纳入上下文分析。
2. 代码编辑(Code Edits) ¶
- 功能概述:当Chat建议代码更改时,您可以审查差异视图(diff view),并决定是否应用更改。
- 特点:在Ask模式下需手动点击“Apply”按钮应用更改;Cursor的定制模型可以在几秒内将建议应用到包含数千行代码的文件中。
- 用法:审查AI建议的代码更改后,根据模式选择应用或接受/拒绝更改。
- 参考文档:Apply功能文档
3. 标签页(Tabs) ¶
- 功能概述:Chat支持多个会话同时运行,您可以通过标签页在不同会话间切换。
- 特点:通过
⌘+T(Mac)或Ctrl+T(Windows/Linux)创建新标签页,标签页可以并行执行,不依赖之前的请求。Cursor会智能跟踪所有会话,并防止多个标签同时修改同一文件。 - 用法:在处理多个任务时,创建新标签页以保持会话独立,随时切换以查看不同会话的进展。
4. 检查点(Checkpoints) ¶
- 功能概述:Cursor会在每次请求和AI修改代码时自动创建代码库的检查点,方便您恢复到之前的状态。
- 特点:支持通过“Restore Checkpoint”按钮或聊天历史中的“+”按钮恢复到之前的状态。
- 用法:如果对AI的更改不满意,可以点击相关按钮恢复到之前的代码库状态。
5. 规则(Rules) ¶
- 功能概述:Cursor提供了一套精心设计的行为规则,但您可以自定义规则以适应特定工作流程。
- 特点:可以自定义AI与您的交互方式以及代码修改行为。
- 用法:在设置中调整规则,确保AI的行为符合您的编码规范或项目需求。
- 参考文档:规则文档
6. 模型选择(Model Selection) ¶
- 功能概述:默认情况下,Cursor使用“auto-select”选项,智能选择最适合您请求的高级模型。
- 特点:支持手动从模型选择器中选择特定模型;自定义模式可以为每个模式固定一个模型。
- 用法:如果需要更精细的控制,可以在设置或模式中手动选择模型。
- 参考文档:模型文档
7. 历史记录和成本(History and Cost) ¶
- 功能概述:聊天历史记录已移至命令面板,您可以通过Chat中的“Show history”按钮或命令面板中的“Show Chat History”命令访问。
- 特点:对于按使用量计费的模型,可以通过历史记录图标查看成本明细。
- 用法:查看历史记录以回顾之前的会话,或检查使用成本。
8. 代码审查(Code Review) ¶
- 功能概述:在每次会话结束时,Chat提供内置的差异视图,简化对Agent代码的审查。
- 特点:点击“Review changes”按钮即可访问差异视图。
- 用法:在会话结束后,审查AI所做的更改,确保代码符合预期。
9. 管理长会话(Managing Long Conversations) ¶
- 功能概述:对于长时间会话,Cursor使用较小的模型总结早期消息,以保持速度和相关性,同时不丢失上下文。
- 特点:当接近上下文窗口限制时,Chat会建议开始一个新会话,并引用当前会话。
- 用法:根据提示开始新会话,确保上下文窗口不会超载。
10. 导出聊天(Exporting Chats) ¶
- 功能概述:支持将会话导出为Markdown格式,方便分享。
- 特点:导出内容包括所有会话文本、代码块和讨论上下文。
- 用法:导出会话以分享解决方案、记录决策或存档重要讨论。
11. 复制聊天(Duplicating Chats) ¶
- 功能概述:支持复制会话以分支讨论,探索替代方案,同时保留原始线程。
- 特点:从会话中的任何消息开始新聊天,保留原始会话。
- 用法:导航到消息,点击三点菜单,选择从该点开始新聊天。
四、Chat的具体应用场景 ¶
Cursor Chat功能在多种开发场景中都能发挥重要作用。以下是一些典型应用场景及其使用方法:
1. 构建新功能 ¶
- 应用描述:Chat可以学习您的代码库并代表您实现新功能。
- 使用方法:在Agent模式下,描述您想要实现的功能(例如“添加一个购物车功能”),Chat会分析代码库并建议必要的更改,包括代码编辑和添加新文件或依赖。
- 优势:节省手动编写代码的时间,快速实现复杂功能。
2. 代码重构 ¶
- 应用描述:Chat可以帮助重构代码库,优化结构或提高可读性。
- 使用方法:向Chat解释当前代码结构和期望的更改,Agent会读取相关代码、规划更改并实施重构。
- 优势:简化大规模代码调整,确保重构一致性。
3. 设置新项目 ¶
- 应用描述:Chat擅长帮助您快速启动新项目。
- 使用方法:告诉Chat您想要构建的项目类型和技术栈要求,Agent会创建项目结构、安装依赖并编写初始代码。
- 优势:快速搭建项目框架,节省初始设置时间。
4. 代码学习和解释 ¶
- 应用描述:Chat可以解释不熟悉的代码或回答代码相关问题。
- 使用方法:在Ask模式下,询问关于特定代码的问题(例如“这个函数如何工作?”),Chat会提供详细解释。
- 优势:加速学习过程,深入理解复杂代码。
5. 自动化工作流程 ¶
- 应用描述:Chat可以自动化重复性任务或复杂工作流程。
- 使用方法:描述您希望自动化的任务,Chat会搜索相关信息、推理解决方案并执行操作。
- 优势:减少手动操作,提升效率。
五、常见问题解答 ¶
- Composer去哪了? 在Cursor早期版本中,Chat和Composer是两个独立概念(Chat类似Ask模式,Composer类似Manual模式)。随着Agent模式的加入,Cursor将两者合并为统一的Chat界面。
- 可以收到Chat处理完成的提醒吗? 可以,在设置中启用声音通知(Settings → Features → Chat → Play sound on finish,测试功能)。
- 长会话如何处理? Cursor使用较小模型总结早期消息,保持响应速度,同时保留关键细节。
- 可以在另一台电脑上访问聊天历史吗? 不能,聊天历史记录存储在本地,不与Cursor账户绑定,仅在创建历史的电脑上可用。
- 如何更改默认Chat模式? 在设置中调整默认聊天模式(Settings → Features → Chat → Default chat mode)。
六、总结 ¶
Cursor的Chat功能通过自然语言交互,为开发者提供了一个强大的AI助手,支持从代码理解到复杂编辑的多种任务。其多种模式(Agent、Ask、Manual和Custom Modes)满足不同场景需求,而丰富的工具和特性(如上下文理解、检查点、导出聊天等)进一步提升了使用体验。
无论您是构建新功能、重构代码、设置项目还是学习代码,Cursor Chat都能显著提升效率。如果您尚未充分利用这一功能,不妨通过快捷键⌘+L或Ctrl+L打开Chat界面,探索其潜力。更多详细信息,请访问官方Chat文档。