Cursor 新手教程:Ask、Manual (Mu)、Agent 三种模式详解
1. Cursor 代码管理能力:搜索、编辑 与 执行
1.1 Cursor 如何进行代码管理?
Cursor 通过三个主要维度来管理代码:
- 搜索能力:
- Codebase:搜索整个代码库。
- 联网搜索:搜索互联网上的信息。
- 代码片段搜索:搜索现有的代码片段。
- 跨文件跨目录搜索:在不同文件和目录中搜索。
- 读取文件:读取文件内容。
- 添加规则 (Rulers) :将规则添加到上下文。
- 编辑能力:
- 生成代码后,可以修改、合并 (New Appray) 或 删除代码。
- 执行能力:
- 自动执行命令 (Run) :例如执行终端命令行。
- 自动合并文件。
1.2 为什么理解 Cursor 的代码管理能力很重要?
理解 Cursor 的代码管理能力是理解 Ask、Manual 和 Agent 这三种模式的基础,因为每种模式都侧重于利用这些能力的不同组合。
2. Ask、Manual、Agent 模式:能力配置与适用场景
2.1 三种模式的能力配置对比
- Ask 模式:主要使用搜索能力,例如 Codebase、联网搜索 和 代码片段搜索。Ask 模式 不具备代码编辑和命令执行能力。
-
- Manual (Mu) 模式:在 Ask 模式 的基础上增加了添加规则和代码编辑的能力。
-
- Agent 模式:拥有所有能力,包括搜索、编辑 和 执行命令。
2.2 如何根据能力配置选择合适的模式?
根据任务的需求选择合适的模式:
- 如果只需要搜索和解释代码,选择 Ask 模式。
- 如果需要在单个文件中进行代码调整,选择 Manual 模式。
- 如果需要初始化项目、生成文档 或 完成涉及多个步骤和文件的复杂任务,选择 Agent 模式。
2.3 Cursor 对三种模式的配置 (0.48 以上版本)
- Ask 模式:可以配置是否允许打开 Codebase 模式。关闭后,只会针对当前文件进行索引和搜索。
- Manual 模式:默认开启 Codebase,只能配置快捷键或模型。
- Agent 模式:可以配置 Auto Run。
- 打开 Auto Run:自动执行终端命令,无需手动确认。
- 关闭 Auto Run:每次执行终端命令时,需要手动确认。建议有经验的开发者关闭,以避免潜在的风险,例如错误地删除或重新安装包。
举例说明:
假设 Auto Run 开启时,Agent 模式 可能会自动执行一些命令,但如果对话上下文很长,Agent 模式 的效率可能会降低,导致返回的代码质量较差,甚至可能删除或重新安装一些包,从而引发问题。
3. 实战案例:不同模式下的问题解决
3.1 同一个问题,不同模式的解决方法
以检查 product view 文件中的代码为例:
- Ask 模式 (未开启 Codebase):只会检查当前文件的代码。
- Ask 模式 (开启 Codebase):会检查整个代码库的代码,甚至可能检查其他文件。
- Manual 模式:仅在当前文件中查找和解决问题,需要手动合并。
- Agent 模式:会查找附近和相关的代码,找到相关方法,并检查是否有调用该方法的地方或其他地方存在问题。
3.2 三种模式的适用场景总结
- Ask 模式:
- 解释代码:例如,解释一段代码的含义。
- 作为 Codebase 使用:例如,搜索所有库存变动的代码。
- Manual 模式:
- 单个文件代码的细微调整:例如,增加密码长度。对于简单的修改,手动修改可能更快。
- Agent 模式:
- 初始化项目、生成文档、理解需求 或 完成一个完整的流程功能:例如,生成前端接口的 Controller、业务逻辑、创建表 等。
Agent 模式 建议一次对话中提出多个问题,充分利用其能力,避免浪费。
我的想法:
我认为:Cursor 的这三种模式,如同三把不同锋刃的利剑。Ask 模式,是快剑,一击直指代码的表层,适合快速理解和定位;Manual 模式,是巧剑,精雕细琢,适合在细节处进行精准调整;而 Agent 模式,则是重剑,势大力沉,能够承担复杂的任务流程。正如先生所言:“倘只看书,便变成书橱”,我们不仅要理解这三种模式的特性,更要在实践中不断磨砺,方能真正掌握 Cursor 这把利器,提升编码效率。
© 版权声明
文章版权归作者所有,未经允许请勿转载。