首页 最新 热门 推荐

  • 首页
  • 最新
  • 热门
  • 推荐

Cursor-用于大型项目

  • 25-04-18 20:21
  • 4085
  • 7545
juejin.cn

展示 Cursor 界面的头图

随着"氛围"编程的流行,许多开发者认为 Cursor 和 Claude 只适合做原型。虽然 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_ai 的 BrowserTools,了解截图和控制台集成。你可以在这里找到更多 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…。
注:本文转载自juejin.cn的6confim的文章"https://juejin.cn/post/7479368570759528458"。版权归原作者所有,此博客不拥有其著作权,亦不承担相应法律责任。如有侵权,请联系我们删除。
复制链接
复制链接
相关推荐
发表评论
登录后才能发表评论和回复 注册

/ 登录

评论记录:

未查询到任何数据!
回复评论:

分类栏目

后端 (14832) 前端 (14280) 移动开发 (3760) 编程语言 (3851) Java (3904) Python (3298) 人工智能 (10119) AIGC (2810) 大数据 (3499) 数据库 (3945) 数据结构与算法 (3757) 音视频 (2669) 云原生 (3145) 云平台 (2965) 前沿技术 (2993) 开源 (2160) 小程序 (2860) 运维 (2533) 服务器 (2698) 操作系统 (2325) 硬件开发 (2492) 嵌入式 (2955) 微软技术 (2769) 软件工程 (2056) 测试 (2865) 网络空间安全 (2948) 网络与通信 (2797) 用户体验设计 (2592) 学习和成长 (2593) 搜索 (2744) 开发工具 (7108) 游戏 (2829) HarmonyOS (2935) 区块链 (2782) 数学 (3112) 3C硬件 (2759) 资讯 (2909) Android (4709) iOS (1850) 代码人生 (3043) 阅读 (2841)

热门文章

109
人工智能
关于我们 隐私政策 免责声明 联系我们
Copyright © 2020-2024 蚁人论坛 (iYenn.com) All Rights Reserved.
Scroll to Top