用Cursor管理大型项目:从教程到实战案例

开发工具 潘老师 2周前 (04-07) 217 ℃ (0) 扫码查看

当下,“氛围编码”(vibe coding)风靡,不少开发者觉得Cursor和Claude仅在原型开发方面有用武之地。可实际上,Cursor的能力远不止于此,它在大型项目的代码结构化、标准化、重构以及维护等方面,都能发挥巨大作用。借助Cursor,构建软件的速度能提升5 – 30倍,这无疑是个令人振奋的消息。

接下来,我将分享自己使用Cursor的工作流程,以及它在大型项目中的应用方法。先给大家介绍下背景,我们在Stream公司负责为超过10亿终端用户提供聊天、活动动态和视频服务,代码库包含大约80万行Go代码。目前,公司在阿姆斯特丹、博尔德等地以及远程岗位都在招聘Go语言工程师、技术领导、资深工程师和总监等职位,工程岗位的需求依旧旺盛。

一、Cursor的编辑与测试循环

想要高效利用AI,建立一个良好的“编辑 – 测试循环”至关重要。一般来说,就是让AI编写代码、生成测试用例,接着运行测试,发现错误后进行修复。完成这些步骤后,我才会去审查代码。下面讲讲这个编辑循环的具体步骤:

(一)配置Cursor和Agent模式

使用Cursor时,要开启Agent模式(快捷键是Cmd + I ),并选择Claude 3.7 Sonnet(在左下角的小下拉菜单里选择)。Agent模式会不断调用Claude,直到完成设定目标。它能自动搜索文件、查找更多上下文信息、运行测试、安装依赖包等,十分智能。

(二)为AI准备文档

前面说的只是简单示例。在实际项目里,通常需要在项目中创建一个docs文件夹,在里面向AI传授代码库中常见任务的最佳实践方法。比如:

  • 如何编写测试?
  • 怎样创建新的数据库模型并应用迁移?
  • 如何搭建新的控制器或状态层?

我们单独维护一个AI文档文件夹,它的大致结构如下:

docs/
  ├── how-to-write-tests.md
  ├── how-to-create-models.md
  ├── how-to-build-controllers.md

这就跟培训工程团队差不多,把AI文档单独存放,要是AI在理解上出了问题,也能更方便地纠正。

(三)在设置中启用Yolo模式

启用Yolo模式后,Cursor就能无需确认直接运行测试。你也可以选择只允许常用的测试运行命令,这样能更好地控制测试过程。

(四)让Cursor/Claude运行测试(核心步骤)

这一步是关键所在。你得让Cursor运行测试,因为它能检测出生成代码中的错误,并尝试修复这些错误,这对提高代码质量有很大帮助。虽说AI不是万能的,可能会遗漏一些问题,但经过这个测试循环,最终的成果比单纯生成代码要好很多。

二、前端及其他平台的应用

我主要用Cursor进行Go语言开发。不过对于前端开发,也能建立类似的系统。推荐大家看看@tedx_ai开发的BrowserTools,它集成了截图和控制台功能,很实用。要是想了解更多MCP(多步骤命令提示)选项,可以访问cursor.directory/mcp。目前针对Android、Swift、Flutter和React Native开发的MCP选项还不太完善。

三、Cursor项目文件相关操作

编辑/测试循环是高效使用Cursor的核心,而创建项目文件也是一个重要的工作流程。

(一)项目步骤示例

以给消息添加书签/提醒功能为例,项目文件内容可以像下面这样:

1. 创建数据库模型(参考docs/how-to-create-models.md)
2. 编写控制器逻辑(参考docs/how-to-build-controllers.md)
3. 添加测试用例(参考docs/how-to-write-tests.md)

每个步骤都对应了相关的文档。虽然可以用Cursor规则自动完成,但手动指定文档往往能更精准地满足需求。

(二)项目验证检查

有了项目文件后,还能用AI检查规范中存在的问题。比如,我们的项目检查文件会去检查模型定义有没有明确指定主键;对于控制器步骤,会询问所需的权限。用AI来验证AI的指令,这种方式很新颖。

(三)生成项目文件

你还可以让AI生成项目描述。先给它提供一个示例项目文件,然后让它根据示例为新功能生成类似的内容。目前,Grok模型在这个任务上表现最佳,结合deepsearch功能,能更清晰地明确项目需求。

四、利用Git作为检查点 – 重置与重试

Cursor本身有检查点系统,但我更习惯用Git来进行相关操作。下面是一些重置工作区的常用命令:

git stash --include-untracked  # 暂存所有更改,包括未跟踪的文件
git stash pop                  # 恢复最近的暂存
git clean -fd                  # 删除所有未提交的文件(谨慎使用)

要是Claude生成的内容不符合预期,用这些命令重置后重新尝试就行。这也体现了保留项目文件的好处,方便我们基于不同的文档或最佳实践重新开始。

五、Cursor和Claude的其他实用技巧

在使用Cursor的过程中,我们摸索出了一些特定的步骤和技巧,能显著提升生成代码的质量。

(一)限制Composer窗口的步骤

在单个Composer窗口中,如果运行5 – 7个步骤,Claude可能会忘记部分指令。所以,适时创建新的Agent窗口很有必要。

(二)Cursor设置技巧

  • 在设置里添加文档,尤其是Claude不太熟悉的那些较少使用的包,这样能帮助Claude更好地理解和处理相关代码。
  • MCP与Linear等工具的集成非常实用,能提高工作效率。
  • “/add open files to context”功能可以方便地把打开的文件加入上下文,让Cursor获取更多信息。

(三)与Goland配合使用

Cursor的AI功能确实强大,但我在调试、重构和常规编辑时,还是会同时使用Goland。在iOS/Android开发等场景中,功能强大的编辑器依然有着不可替代的作用。

(四)Cursor Tools推荐

推荐大家关注@EastlondonDev的cursor – tools项目(github.com/eastlondone… ),里面有不少实用的工具和功能。

(五)Cursor规则

在设置中添加规则,可以实现自动引入文档。比如:

当创建新模型时,始终参考docs/how-to-create-models.md

还有常见规则目录可供参考,大家可以根据实际需求进行设置。

(六)代码标准化

如果代码命名混乱,或者存在重复实现的情况,AI很容易出错。所以,保持代码干净、标准化,能提高AI生成代码的成功率。

(七)检查所有内容

就像检查初级工程师的工作成果一样,对于AI生成的每一行代码,我们都要仔细审查,确保清楚它的功能。

(八)重构、文档与搜索

Cursor和Claude可不只是能生成代码,在文档编写、搜索和重构方面也能发挥作用。

  • 重构示例:使用Cursor和Claude,可以一次性对数百个文件进行复杂调整。一些简单的更改我还是习惯用Goland的重构工具,但遇到复杂变更时,使用Cursor能节省好几天的时间。
  • 搜索与文档:要是在大型代码库中遇到难以理解的部分,可以让Cursor生成文档来进行解释。
  • 技术理解:碰到不熟悉的技术问题,Cursor可以替代Google或Stack Overflow,快速给出解答。

六、总结

Cursor可不只是个原型工具,在大型项目的维护中,它也是得力助手。想要高效用好Cursor,可以从以下几个方面入手:

  • 建立“生成/测试/运行测试”的循环,让AI能自我纠错。
  • 创建项目计划,并用AI进行检查和优化。
  • 调整Cursor的设置,适应它的独特工作流程。
  • 充分利用Cursor的功能,不仅用于代码生成,还可以进行重构、文档编写和搜索等工作。

只要配置合理,使用Cursor能让工作效率提升5 – 30倍。作为工程师,我特别喜欢用它,因为这样我能把精力集中在更复杂的问题上,让AI去处理那些基础工作。希望这篇指南能给大家带来帮助!


版权声明:本站文章,如无说明,均为本站原创,转载请注明文章来源。如有侵权,请联系博主删除。
本文链接:https://www.panziye.com/tool/16850.html
喜欢 (0)
请潘老师喝杯Coffee吧!】
分享 (0)
用户头像
发表我的评论
取消评论
表情 贴图 签到 代码

Hi,您需要填写昵称和邮箱!

  • 昵称【必填】
  • 邮箱【必填】
  • 网址【可选】