Cursor-用于大型项目

展示 Cursor 界面的头图

随着"氛围"编程的流行,许多开发者认为 CursorClaude 只适合做原型。虽然 Cursor 确实擅长编写新代码,但它在结构化代码、标准化、重构和维护大型项目方面也非常有效。这非常令人兴奋,因为你可以以 5-30 倍的速度构建软件。

本指南分享我使用 Cursor 的工作流程以及如何将其用于大型项目。作为背景介绍,在 Stream,我们为超过十亿终端用户提供聊天活动流视频服务。约 80 万行 Go 代码。

工程师岗位在短期内不会消失。事实上,我们正在比以往更快地招聘------在阿姆斯特丹/博尔德/远程工作的 Golang 工程师/主管/资深工程师/总监

Cursor -- 编辑、测试循环

有效使用 AI 的关键是良好的编辑和测试循环。通常你希望 AI 编写代码,编写测试,然后执行这些测试并修复它发现的任何错误。只有在 AI 完成这些步骤后,我才会开始审查。

让我们来看看这个编辑循环的基础知识。

步骤 1 - Cursor 设置/代理模式

你需要使用代理模式(cmd + I)+ Claude 3.7 sonnet(注意左下角的小下拉菜单)。代理模式将持续调用 Claude 直到目标实现。因此,它会搜索文件,查找更多上下文,运行测试,安装包等。

Cursor 代理模式截图

步骤 2 - AI 文档

上面的例子有点简化了。通常,你需要一个文档文件夹,教导 AI 在你的代码库上执行常见任务的最佳实践。例如:

  • 如何编写测试?
  • 如何设置新的数据库模型并应用迁移?
  • 如何创建新的控制器/状态层等?

我们为 AI 保留一个单独的文档文件夹。它看起来像这样。

AI 文档文件夹结构

这与你培训工程团队的方式非常相似。但我们保持单独的 AI 文档,这样当 AI 出错时,很容易纠正它。

步骤 3 - 在设置中启用 Yolo 模式

你需要启用 Yolo 模式,这样 Cursor 可以在不请求确认的情况下运行测试。你也可以选择只允许你经常使用的命令来运行测试等。

Yolo 模式设置

步骤 4 - Cursor/Claude 运行测试(这是关键部分)

这是关键部分。你需要告诉 Cursor 运行测试。因为它正在运行测试,它将检测到在生成代码时所犯的错误。

Cursor 运行测试

当然,AI 并不完美;它会遗漏一些东西,但有了这个测试循环,结果比仅仅生成代码要好得多。

对于前端/其他平台

我主要将 Cursor 用于 Golang。但你可以为前端开发设置类似的系统。查看 @tedx_aiBrowserTools,了解截图和控制台集成。你可以在这里找到更多 MCP 选项:cursor.directory/mcp。我还没有看到适用于 Android、Swift、Flutter 和 React Native 开发的好的 MCP 选项。

Cursor - 项目文件

编辑/测试循环是有效使用 Cursor 的关键。另一个重要的工作流程是创建项目文件。

项目步骤

这是一个创建消息书签/提醒功能的项目文件示例

项目文件示例

注意每个步骤如何引用相关文档。你也可以使用 Cursor 规则来做这件事,但我更喜欢大多数时候手动指定正确的文档。

项目验证检查

现在当你有了这个项目文件,你也可以使用 AI 来检查你的规范是否有问题。我们的项目检查文件将审查模型,看看说明是否明确了主键。对于控制器步骤,它会要求你明确所需的权限。所以你可以使用 AI 来验证给 AI 的指令,这有点疯狂。

生成项目文件

当然,你也可以使用 AI 来生成你的项目描述。你给它一个示例项目描述文件,并要求它为不同的功能生成类似的内容。目前 Grok 可能是这方面最好的模型。你也可以将其与深度搜索结合起来,进一步明确你的项目需求。

准备好集成了吗? 我们的团队随时准备帮助你。立即联系我们,明天就可以启动!

Git 是你的检查点 - 重复使用

Cursor 有一个内置的检查点系统,但我更喜欢不使用它。Git 对我来说效果更好。要重置你的工作区,你可以使用:

perl 复制代码
git stash --include-untracked # 暂存所有更改,包括未跟踪的文件
git stash pop # 恢复最后一次暂存
git clean -fd # 删除所有未提交的文件(使用这个命令要小心)

所以,如果 Claude 偏离了轨道,只需重置并再试一次。这也是为什么你要保留一个项目文件。它使得用不同的文档/最佳实践等重新开始变得非常容易。

其他 Cursor 和 Claude 技巧

在使用 Cursor 时,我们了解到采取特定步骤和应用某些技巧可以显著提高 Cursor 生成的输出质量。

限制 Cursor Composer 窗口中的步骤

有时,我会在单个 composer 窗口中运行 5-7 个步骤。对话持续的时间越长,Claude 忘记部分指令的可能性就越大。所以有时创建一个新的 Cursor 代理窗口。

Cursor 设置技巧

  • 在 Cursor 设置中,你可以添加文档。这对于 Claude 默认不太了解的不常用包特别有用

  • 与 linear 或其他工具的 MCP 集成非常酷

  • /add open files to context 非常方便

Cursor 设置

Goland

Cursor 的 AI 功能令人惊叹。我并排运行 Goland 用于调试、重构和一般编辑器设计。你可能也需要这样做,比如 iOS/Android 开发等,在这些领域,一个具有强大工具的编辑器很难/不可能完全替代。

Cursor 工具

有一个很酷的 cursor tools 项目 github.com/eastlondone...,由 @EastlondonDev 开发。Cursor tools 启用浏览器使用、大型上下文窗口、文档和规划功能。

Cursor 规则

你可以在设置中为 Cursor 添加规则,这使你能够自动包含文档。例如:

Cursor 规则示例

这里有一个常见 Cursor 规则的目录

代码标准化

它感觉几乎像人类,因为如果你使用混乱的名称、重复的实现等,AI 会感到困惑。所以,你需要有干净、标准化的代码,以获得 AI 最高的成功率。

检查一切

如果你将工作分配给初级工程师,你会仔细检查一切。你应该类似地对待 AI,并了解代码的每一部分是做什么的。

重构、文档和搜索

不仅仅是代码生成。你还可以使用 Cursor 和 Claude 进行文档编写、搜索和重构。

重构示例

你可以一次对数百个文件进行复杂的调整。如果是简单的更改,我仍然更喜欢使用 Goland 的重构工具。但对于复杂的更改,这可以节省数天的工作。

重构示例

搜索和文档

每个大型代码库最终都会有难以理解的部分。你可以要求 Cursor 为你编写文档来帮助解释它。

搜索和文档示例

技术和理解

当你遇到代码库中不理解底层技术的部分时,你也可以将其作为 Google/Stackoverflow 的替代品

技术理解示例

结论

Cursor 不仅是一个用于原型的惊人工具,也适用于维护大型项目。要有效使用它:

  • 设置生成/测试/运行测试循环。这样 AI 可以自我纠正
  • 创建项目计划,并让 AI 检查和改进这个计划
  • 微调你的 Cursor 设置,并适应不同的工作流程
  • 不仅仅是代码生成。你可以重构、创建文档并将其用作强大的搜索引擎

通过正确的设置,你可以以 5-30 倍的速度工作。我特别喜欢的是,作为一名工程师,你可以更专注于更难的问题,而 AI 生成所有基础部分。希望这个指南有所帮助。如果你有更多技巧,在 X 上与 Stream 分享,我会将它们添加到文章中。


参考资料:

  1. 中文文档:学习核心概念,访问 mcp.vyagent.com
  2. GitHub 仓库:探索源码和示例,地址 github.com/modelcontex...
  3. 社区讨论:提问、交流灵感,加入 github.com/modelcontex...
相关推荐
笨笨狗吞噬者1 天前
cursor如何安装vscode插件
产品·visual studio code·cursor
转转技术团队1 天前
回收系统架构演进实战:与Cursor结对扫清系统混沌
java·架构·cursor
_志哥_1 天前
解决Cursor插件市场无法打开或加载缓慢问题
visual studio code·cursor
疯狂踩坑人1 天前
MCP理论和实战,然后做个MCP脚手架吧
前端·node.js·mcp
组合缺一1 天前
Spring Boot 国产化替代方案。Solon v3.7.2, v3.6.5, v3.5.9 发布(支持 LTS)
java·后端·spring·ai·web·solon·mcp
Ericwyn1 天前
MCP Partner, 一个在线快捷 mcp client 调试工具
mcp
君赏1 天前
买 Cursor 我竟然遇到骗子了,竟然被 一个假借 Cursor-Vip 的骗子软件骗到了
cursor
Breath572 天前
代码执行 + MCP:AI 代理 token 省 98%!
agent·ai agent·mcp·上下文工程
魁首2 天前
AI Agent 协议演进:从 MCP 到 ACP 的架构对比与未来展望
openai·gemini·mcp
极客密码2 天前
【已开源】Cursor AI 开发实战:小文件在线互传工具
开源·ai编程·cursor