前面苏米分享过《Cursor新手3分钟快速搞懂 Ask/Manual/Agent 三种模式及高级技巧》相信你对Cursor三大模式(Ask、Manual、Agent)有了一定的了解,如果已经实际体验过,那么接下来苏米就带大家突破基础功能的层面,充分挖掘Cursor三大模式(Ask、Manual、Agent)中蕴含的高级能力。今天,我将为大家揭秘这些强大但被低估的功能,帮助你将Cursor的使用提升到一个全新的水平,先放高级能力对比表格:
高级能力对比
能力 | Ask 模式 | Manual 模式 | Agent 模式 |
---|---|---|---|
Codebase | 支持代码库索引与上下文搜索 | 支持代码库索引与上下文搜索 | 支持代码库索引与上下文搜索 |
Web | 支持联网搜索 | 支持联网搜索 | 支持联网搜索 |
Grep | 支持代码片段搜索 | 支持代码片段搜索 | 支持代码片段搜索 |
Read File | 支持读取文件内容 | 支持读取文件内容 | 支持读取文件内容 |
Rules | 不支持 | 支持将规则添加到上下文 | 不支持 |
Edit | 不支持 | 支持代码编辑与重新应用 | 支持代码编辑与重新应用 |
Delete | 不支持 | 支持删除文件 | 支持删除文件 |
Run | 不支持 | 不支持 | 支持执行终端命令 |
Ask模式:不只是问答
大多数新手将Ask模式仅视为简单的问答工具,但实际上它具备多项强大的辅助功能,能极大扩展其应用场景。
1. Codebase 代码库索引与上下文搜索
Ask模式中的Codebase功能允许Cursor理解和索引你的整个代码库,从而在回答问题时考虑更广泛的项目上下文。
实际应用:
// 启用Codebase后的提问
这个项目中的用户认证流程是如何实现的?涉及哪些关键文件?
Cursor会搜索整个代码库,找出与认证相关的所有文件和实现细节,即使这些文件不在当前打开的窗口中。
使用技巧:
-
首次使用时需要索引项目,耐心等待索引完成
-
对较大的代码库,可以指定重点搜索的目录
-
使用准确的术语以获得更精确的结果
2. Web 联网搜索
Ask模式的Web功能允许Cursor连接互联网,检索最新的技术信息、文档和解决方案。
实际应用:
// 使用Web功能提问
使用最新版React 18的Suspense功能如何优化数据加载?
Cursor会搜索网络上的相关资源,并结合最新的React文档和最佳实践给出回答。
使用技巧:
-
明确指定搜索范围(如官方文档、特定网站等)
-
对于特定库的问题,提及版本号以获取准确信息
-
针对特定错误消息,可以直接复制粘贴错误信息进行搜索
3. Grep 代码片段搜索
Grep功能能够在项目中快速定位特定代码模式,比系统自带的搜索功能更智能。
实际应用:
// 使用Grep功能
在项目中找出所有未处理Promise错误的代码段
Cursor会识别潜在的Promise错误处理模式,而不仅仅是简单的文本匹配。
使用技巧:
-
使用语义搜索而非简单的文本匹配
-
结合正则表达式进行复杂模式搜索
-
对找到的结果可直接请求分析和改进建议
4. Read File 读取文件
Read File功能允许Cursor在对话中直接引用和分析项目中的特定文件,无需你手动复制内容。
实际应用:
// 使用Read File功能
分析 src/services/api.js 文件中的错误处理逻辑,有何改进空间?
使用技巧:
-
指定完整的文件路径
-
可以结合@file命令使用,更加直观
-
对大文件,可以指定关注的部分(如行号范围)
Manual模式:精准控制
Manual模式不仅限于简单的代码修改,它包含一系列高级功能,让你能够以惊人的精确度控制代码变更。
1. Codebase 与 Web 功能
与Ask模式类似,Manual模式也支持Codebase和Web功能,但用途更加聚焦于代码修改。
实际应用:
// 在Manual模式下使用Codebase
[选中一段代码] 根据我们项目中其他API服务实现的模式,重构这个函数
Cursor会分析项目中其他API服务的实现模式,并按照一致的风格重构所选代码。
2. Rules 规则上下文
Rules功能是Manual模式中的独特能力,它允许你定义一组规则,Cursor会在所有代码修改中遵循这些规则。
实际应用:
// 添加Rules
请遵循以下规则修改代码:
1. 所有函数必须添加JSDoc注释
2. 使用async/await替代Promise链
3. 所有组件Props必须使用TypeScript接口定义
4. 错误处理必须使用try/catch,不使用.catch()
使用技巧:
-
在项目初始化时设置规则,提高代码一致性
-
根据团队编码规范定制Rules
-
对复杂重构任务,先定义明确的Rules再执行
3. Edit 高级编辑功能
Edit功能包括多种高级编辑操作,如批量修改、重构和Reapply(重新应用之前的修改)。
实际应用:
// 使用Edit功能
[选中多个组件文件] 将所有这些组件从Class组件重构为函数组件,保持功能不变
Reapply功能: 当你对一个文件进行了成功的修改后,可以使用Reapply功能将相同的修改逻辑应用到其他类似文件中。
使用技巧:
-
使用Clear Edits功能撤销不满意的修改
-
对复杂修改,先在一个示例文件上测试
-
Reapply前确保目标文件结构相似
4. Delete 文件操作
Delete功能允许你在Manual模式下直接删除文件,这在重构和清理项目时特别有用。
实际应用:
// 使用Delete功能
分析项目并列出所有未使用的组件文件,然后让我确认是否删除它们
使用技巧:
-
始终在删除前进行确认
-
对重要文件考虑先备份
-
可以结合Codebase功能分析文件依赖关系
Agent模式:全能开发
Agent模式是Cursor最强大的模式,它整合了所有Search、Edit和Run能力,成为一个真正的开发伴侣。
1. 强大的综合搜索能力
Agent模式集成了所有搜索功能(Codebase、Web、Grep、Read File),并能够在任务过程中自主决定何时使用哪种搜索方式。
实际应用:
// 在Agent模式下的复杂任务
在我的React Native应用中添加深色模式支持,需要考虑所有UI组件和样式
Cursor会自动:
-
搜索项目中所有UI组件
-
查找最佳的React Native深色模式实现方案
-
分析项目主题结构
-
规划完整的实现方案
2. 全面的编辑能力
Agent模式拥有完整的代码编辑能力,可以创建、修改、重构和删除代码,同时保持代码质量和一致性。
实际应用:
// 在Agent模式下的编辑任务
重构我们的状态管理从Redux迁移到React Context,保持所有功能不变
Cursor会:
-
分析当前Redux实现
-
设计等效的Context API结构
-
系统性地替换每个Redux组件
-
更新相关测试
-
删除不再需要的Redux文件
3. 强大的Run能力
Run能力是Agent模式独有的,它允许Cursor执行代码、运行测试、启动服务,并根据结果调整实现。
实际应用:
// 使用Run能力
为我的Node.js API添加单元测试,运行测试并修复出现的问题
Cursor会:
-
编写适当的单元测试
-
执行测试命令
-
分析失败的测试
-
修复代码或测试中的问题
-
重新运行测试直到通过
使用技巧:
-
确保项目环境已正确设置
-
提供明确的命令和预期结果
-
对于复杂任务,设置阶段性检查点
三种模式组合:建立工作流
真正的Cursor高手不会孤立地使用这些功能,而是将它们智能地组合到工作流程中。以下是一个高级开发工作流示例:
高级工作流示例:实现新功能
1)使用Ask模式+Web功能探索最佳实现方法
搜索最新的React表单验证库,比较它们的性能和易用性
2)使用Ask模式+Codebase功能分析项目需求
分析我们项目中现有的表单实现,找出共同模式和痛点
3)使用Agent模式规划和执行主要开发工作
创建一个基于Formik和Yup的可重用表单组件系统,兼容我们现有的UI库,并包含完整的验证
4)使用Manual模式+Rules功能进行精细调整
[选择Agent生成的代码] 根据以下规则优化:
1. 提取重复逻辑为自定义hooks
2. 添加详细的类型注释
3. 确保所有错误提示支持国际化
5)使用Agent模式+Run功能进行测试和修复
为这些新组件编写单元测试和集成测试,运行测试并解决问题
总结
Cursor 的三种模式(Ask、Manual、Agent)为开发者提供了全方位的 AI 编程支持,从代码解释到全流程自动化开发,覆盖了开发的各个环节。通过熟练掌握这三种模式的高级能力,开发者可以显著提升编码效率和代码质量。对于新手来说,建议从 Ask 模式开始,逐步尝试 Manual 和 Agent 模式,逐步掌握 Cursor 的强大功能。
作为深度Cursor用户,我的建议是:先掌握基础功能,然后逐步探索和整合这些高级能力,最终形成适合自己工作风格的高效工作流。
你已经使用过这些高级功能了吗?欢迎在评论区分享你的经验和技巧!
在接下来的文章中,我将深入探讨Cursor与其他开发工具的协作方式,以及如何设置个性化的Cursor开发环境。敬请期待!