使用 Cursor 管理大型项目的教程与案例分析

juejin.cn/aicoding AI编程板块了解更多AI编程干货

作者:Thierry S.

发布时间:2025年3月5日

阅读时长:5分钟

随着"氛围编码"(vibe coding)的流行,许多开发者认为 Cursor 和 Claude 仅适用于原型开发。然而,Cursor 不仅擅长编写新代码,还能高效地进行代码结构化、标准化、重构以及维护大型项目。借助它,你可以以5-30倍的速度构建软件,这令人兴奋。

本教程将分享我使用 Cursor 的工作流程,以及如何将其应用于大型项目。为了提供背景信息,我们在 Stream 公司为超过10亿终端用户提供聊天、活动动态和视频服务,代码库包含约80万行 Go 代码。

工程岗位并未消失,相反,我们的招聘速度比以往任何时候都要快------目前在阿姆斯特丹、博尔德及远程地区招聘 Go 语言工程师、领导、资深工程师和总监。


Cursor 的编辑与测试循环

高效使用 AI 的关键在于建立一个良好的"编辑-测试循环"。通常,你希望 AI 编写代码、生成测试用例,然后运行测试并修复发现的错误。只有在 AI 完成这些步骤后,我才会开始审查代码。

以下是编辑循环的基本步骤:

第一步:配置 Cursor 和 Agent 模式

你需要使用 Agent 模式(快捷键 Cmd + I)并选择 Claude 3.7 Sonnet(注意左下角的小下拉菜单)。Agent 模式会持续调用 Claude,直到目标实现为止。它会自动搜索文件、查找更多上下文、运行测试、安装依赖包等。

第二步:为 AI 准备文档

上文中的示例稍显简化。通常,你需要在项目中创建一个 docs 文件夹,向 AI 传授代码库中常见任务的最佳实践,例如:

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

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

css 复制代码
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 的核心。另一个重要工作流程是创建项目文件。

项目步骤示例

以下是一个为消息添加书签/提醒功能的项目文件示例:

bash 复制代码
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。以下是重置工作区的常用命令:

shell

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

如果 Claude 的生成偏离预期,只需重置并重试。这也是保留项目文件的好处,它便于基于不同文档或最佳实践重新开始。


Cursor 和 Claude 的其他技巧

在使用 Cursor 时,我们发现特定步骤和技巧能显著提升生成代码的质量。

限制 Composer 窗口的步骤

在单个 Composer 窗口中运行5-7个步骤时,Claude 可能会遗忘部分指令。因此,适时创建新的 Agent 窗口。

Cursor 设置技巧

  • 在设置中添加文档,特别适用于 Claude 默认不太熟悉的较少使用的包;
  • MCP 与 Linear 等工具的集成非常实用;
  • /add open files to context 功能方便地将打开的文件加入上下文。

与 Goland 配合

Cursor 的 AI 功能很强大,但我会同时使用 Goland 进行调试、重构和常规编辑。对于 iOS/Android 开发等场景,强工具支持的编辑器也难以完全替代。

Cursor Tools推荐

@EastlondonDev的 cursor-tools 项目(github.com/eastlondone...

Cursor 规则

在设置中添加规则,可自动引入文档。例如:

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

常见规则目录可供参考。

代码标准化

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

检查所有内容

就像检查初级工程师的工作一样,你应仔细审查 AI 生成的每一行代码,确保理解其功能。


重构、文档与搜索

Cursor 和 Claude 不仅限于代码生成,还可用于文档编写、搜索和重构。

重构示例

可以一次性对数百个文件进行复杂调整。简单更改我仍偏好 Goland 的重构工具,但复杂变更可节省数天时间。

搜索与文档

对于大型代码库中难以理解的部分,可让 Cursor 生成文档加以解释。

技术理解

遇到不熟悉的技术时,Cursor 可替代 Google 或 Stack Overflow,提供快速解答。


结论

Cursor 不仅是原型工具,也是维护大型项目的利器。要高效使用它:

  1. 建立生成/测试/运行测试的循环,让 AI 自我纠正;
  2. 创建项目计划,并用 AI 检查和改进;
  3. 调整 Cursor 设置,适应其独特的工作流程;
  4. 不仅限于代码生成,还可用于重构、文档编写和搜索。

通过合理配置,你的工作效率可提升5-30倍。作为工程师,我尤其喜欢它让我能专注于更复杂的问题,而 AI 处理基础工作。希望本指南对你有所帮助!

相关推荐
Ender(弹射回家版)8 小时前
Augment Code:下一代AI编程助手,能否超越GitHub Copilot?
github·copilot·ai编程
Captaincc8 小时前
如何在 Copilot Studio 使用MCP扩展代理
ai编程·mcp
袁庭新8 小时前
我用Cursor + DeepSeek + Claude-3.7-Sonnet + DevBox,10分钟开发了一个系统
claude·cursor·deepseek
Captaincc8 小时前
免费的「网页版 Cursor」!新版 DeepSeek-V3 加持,秒秒钟编出 APP
ai编程·cursor
Captaincc9 小时前
把MCP和AI代理部署在无服务器架构上,大幅提升业务性能
ai编程·mcp
Captaincc9 小时前
从 0 到 1 玩转 MCP:AI 的「万能插头」,代码手把手教你!
ai编程·mcp
_jiang9 小时前
一文掌握 MCP 开发:从原理到实战(飞书客户端 MCP)
ai编程·cursor·mcp
Captaincc11 小时前
使用 Gemini 2.5 Pro 的全新玩法:深度洞察的 Prompt 设计
ai编程
方阿森11 小时前
MasterGo + MCP,借助 AI 实现设计稿转代码
前端·ai编程·mcp
酱酱们的每日掘金12 小时前
从零打造吉卜力风格AI绘图网站、写给普通人的 MCP 入门指南、VS Code 又行了!丨AI Coding 周刊第 3 期
ai编程·visual studio code·mcp