WithAI.Design

5 min read

如何在大型项目使用Cursor

如何在大型项目使用Cursor

随着“氛围”编码的流行,许多开发者认为 CursorClaude 仅适用于原型开发。虽然 Cursor 在编写新代码方面表现出色,但它在结构化代码、标准化、重构和维护大型项目方面也非常有效。这令人非常兴奋,因为你可以以 5-30 倍的速度构建软件。

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

工程职位在短期内不会消失。事实上,我们的招聘速度比以往任何时候都快——在阿姆斯特丹/博尔德/远程招聘 Golang 工程师/负责人/员工/主管

Cursor – 编辑、测试循环

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

让我们来看看这个编辑循环的基本步骤。

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

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

步骤 2 - AI 的文档

上面的示例有点简化。通常,你希望有一个文档文件夹,教 AI 你在代码库中常见任务的最佳实践。例如:

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

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

这与训练你的工程团队的方式非常相似。但我们保留单独的 AI 文档,以便在 AI 出错时容易进行纠正。

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

你需要启用 Yolo 模式,以便 Cursor 可以在不询问确认的情况下运行测试。可选地,你可以仅允许你经常使用的命令来运行测试等。

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

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

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

对于前端/其他平台

我主要使用 Cursor 来处理 Golang。但你可以设置一个类似于前端开发的系统。查看 BrowserTools@tedx_ai 提供的屏幕截图和控制台集成。你可以在这里找到更多 MCP 选项:https://cursor.directory/mcp。我还没有看到适用于 Android、Swift、Flutter 和 React Native 开发的良好 MCP 选项。

Cursor - 项目文件

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

项目步骤

以下是创建消息书签/提醒的项目文件示例。

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

项目验证检查

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

生成项目文件

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

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

Git 是你的检查点 - 重复进行

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

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 默认对其了解不多。
  • MCP 与线性或其他工具的集成非常酷。
  • / 将打开的文件添加到上下文非常方便。

Goland

Cursor 在其 AI 功能方面非常出色。我并排运行 Goland 进行调试、重构和一般编辑器设计。你可能还需要这样做,例如 iOS/Android 开发等,强大的工具编辑器很难/不可能完全替代。

Cursor 工具

有一个很酷的 Cursor 工具项目 https://github.com/eastlondoner/cursor-tools 由 @EastlondonDev 提供。Cursor 工具支持浏览器使用、大上下文窗口、文档和规划能力。

Cursor 规则

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

有一个常见 Cursor 规则的目录。

代码标准化

如果你使用混淆的名称、重复的实现等,AI 会感到困惑,因此你希望拥有干净、标准化的代码,以便与 AI 达成最高的成功率。

检查一切

如果你将工作分配给一名初级工程师,你会仔细检查每一项工作。你应该以类似的方式对待 AI,并了解代码的每一部分的作用。

重构、文档与搜索

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

重构示例

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

搜索与文档

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

技术与理解

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

结论

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

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

通过正确的设置,你可以工作得快 5-30 倍。我尤其喜欢的是,作为一名工程师,你可以专注于更难的问题,而 AI 生成所有基础内容。希望本指南对你有所帮助。如果你有更多提示,请与 Stream 在 X 上分享联系我,我会将它们添加到文章中。

P.S.—我们正在招聘 Go 工程师。(员工/负责人/主管 Golang,阿姆斯特丹/博尔德/斯科普里/远程)

想获取更多 AI 辅助设计和设计灵感趋势? 欢迎关注我的公众号(设计小站):sjxz 00。

原文:https://getstream.io/blog/cursor-ai-large-projects/

标签