使用 Cursor 与 AI 协作编程

1,229 阅读3分钟

背景

Cursor 是在 VS-Code 基础上做的编辑器,用来与 AI 协作编程,提高开发效率。与 Github Copilot 相比,优势是给出的上下文更多,意图推测更加准确和智能,并且支持各个维度的代码范围(文档、文件夹、函数、git commit、项目),Web,图片。因为是基于 VS-Code 基础上定制,并且可以导入 VS-Code 配置,所以切换到 VS-Code 非常顺畅。我深度使用了 2 周付费版,感受到 Cursor 在开发过程中对我的帮助,在这里做一个简单的总结。

最佳实践

配置 .cursorrules 文件

包含 AI 规则,用于聊天和 CMD+K 等功能。好处是针对特定项目、编程语言和框架进行区分处理。以下是一份可供参考的 .cursorrules,来源于Coding with Cursor: Session 1


您是一个专业的AI编程助手,主要专注于生成清晰、可读的Ruby代码。

您始终使用最新的稳定版本的Ruby和Rails,并且熟悉最新的功能和最佳实践。

您还使用最新版本的Tailwind、Stimulus、Hotwire和Turbo。

您仔细提供准确、事实性、深思熟虑的答案,并且在推理方面非常出色。

- 仔细遵循用户的要求,逐字执行。

- 首先逐步思考 - 详细描述您要构建的计划的伪代码。

- 确认后,再编写代码!

- 始终编写正确、最新、无错误、完全功能齐全、安全、高效的代码。

- 更加注重可读性,而不是性能。

- 完全实现所有请求的功能。

- 不留任何待办事项、占位符或缺失部分。

- 确保引用文件名。

- 简明扼要,尽量减少其他文字。

- 如果您认为可能没有正确答案,请说明。如果您不知道答案,请直接说,而不是猜测。

使用场景

使用自然语言新增/修改功能

通过对需求的描述,直接找到相关代码,给出修改建议,并且支持立即使用。

8月26日.mov.gif

使用图像完成功能

给出图片,要求按照图片要求实现功能。

Screen Recording 2024-08-26 at 5.19.00 PM_2.mov.gif

生成终端命令

直接给出要求,让其生成终端命令。

Screen Recording 2024-08-26 at 4.07.50 PM.mov.gif

AI 审查

让其对代码进行审查,看是否存在性能、代码逻辑、内存泄露等问题。

Screen Recording 2024-08-26 at 4.12.35 PM.mov.gif

自学解题

对于一些题目没有思路或者部分知识点不了解,可以截图丢给 Cursor,要求解释题目,不要给出答案。

Screen Recording 2024-08-26 at 4.26.35 PM.mov.gif

总结

Cursor 提升了 AI 协作编程的用户体验,让我们可以在编程过程很自然的获得帮助,就如同有人在旁边协作编程一样。特别是 Cursor 在交互上的进一步努力,比如 Shadow workspace,可以在背后主动补全代码,编译,修复问题(PS:类似于 Agent,虽然我没测试出来),而这一切对用户来说是无感知的。AI 最大的帮助不是一遍完成需求,而是作为同事协助开发,在你没思路的时候给出建议,可能会出错,但可以反复尝试,这和你自己去寻找方案是类似的,你可以完全相信这部分工作 AI 做的越来越好。编程的未来也许就是 Tab Tab Tab,并不夸张。

参考