如何学会AI编程工具cursor的使用?
在上一篇《Cursor AI编程助手不完全指南》中,我们详细介绍了Cursor这款强大的AI编程工具。为了让大家能更直观地了解 Cursor 的实战应用价值,本文将通过一个实际项目来展示其开发流程。我们将使用 Cursor 开发一个 Web 版单词学习程序,通过这个案例,您将看到 AI 辅助开发的完整过程,体验从需求分析到代码实现的全过程。让我们开始这次实战之旅。
在开始开发之前,明确的需求文档是项目成功的关键。一个好的需求文档不仅能指导开发方向,还能作为与 Cursor 进行高效对话的重要基础。我们有两种方式来准备需求文档:自行编写需求文档和借助 Cursor 生成需求文档。
- 明确列出功能模块和具体需求
- 按优先级排序各项功能
- 将文档保存为独立文件,方便随时参考
- 确保描述清晰,避免歧义
- 提供项目的核心目标和主要功能点
- 让AI协助完善功能描述和技术细节
- 根据实际需求进行调整和补充
摘抄部分功能内容,填充到自己的开发需求文档如下:
# 开发一个学单词的web程序
核心功能需求
学习模式
- 从未学单词中挑选10个单词进行学习
- 单词卡片展示(拼写、音标、释义、例句)
- 发音功能
- 可以将当前词加入到错题本,进行复习
复习模式
- 从错词本中随机抽取单词进行复习
用户管理
- 用户免登录,可以设置用户名
技术需求
前端
- 响应式设计,支持多端适配
- 流畅的交互体验,界面简洁美观
后端
- 如果需要用到后端程序,请使用python语言
- 如果需要用到数据库,请使用MySQL
数据结构
单词库
- 单词基本信息(拼写、音标、发音音频、释义、例句)
用户学习记录
- 记录用户学习记录和错题信息
使用 Cursor 的 COMPOSER 模式+ AGENT,以需求文档作为上下文,和 Cursor 对话,让其帮忙生成 UI 界面。
请根据我的需求文档,设计一个学单词的web界面,要求简洁美观
Cursor进行UI设计 觉得设计的还不错,就直接选择 Accept,如需修改可继续提问进行修改。
Accept 下面进行 web 界面的预览, 选中 html 文件,右键
Open In Default Browser。
Open In Default Browser
界面预览 前端部分先这样,可以继续进行后端设计,包括API接口、功能实现和数据库设计。
Cursor进行后端设计
Cursor进行后端设计 Cursor 给出的后端项目结构:
app/ ├── models/ │ └── models.py ├── routes/ │ └── word_routes.py ├── utils/ └── app.py requirements.txt .envCursor 创建一个保存环境变量文件,我们需要修改其中的内容,如连接数据库的URI。
DATABASE_URL=mysql+pymysql://root:root@localhost/word_memorize FLASK_ENV=development FLASK_APP=app/app.py- Word 表:存储单词基本信息
- UserProgress 表:存储用户学习进度和错题本
创建数据库:
CREATE DATABASE word_memorize CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;表可以先不创建,后面让Cursor生成程序进行表的创建和测试数据生成。
Cursor 已为我们创建一个 requirements.txt 文件来管理项目依赖(如果没有,可让其帮忙生成)。
Flask==2.0.1 Flask-SQLAlchemy==2.5.1 Flask-CORS==3.0.10 PyMySQL==1.0.2 python-dotenv==0.19.0 requests==2.26.0有了依赖我们可以直接执行以下安装命令,可以让 Cursor 帮忙执行,(注意:如果使用的是python虚拟环境,可能需要手动执行命令,cursor 默认使用默认的 python 环境):
pip install -r requirements.txt
安装Python依赖 flask run首次运行,出错了,没关系,交给 Cursor 去解决(这是一个持续过程,需要有点耐心):
运行出错 根据提示,升级Flask版本:
Cursor提示修复 继续运行,又报错了,继续丢给 Cursor 帮忙解决:
Cursor提示修复 修改了依赖的版本和代码中依赖的导入方式:
Cursor提示修复 又回到了第一个问题,版本不兼容,Cursor 建议让我们用第二种方式解决:
Cursor提示修复 这次启动成功:
启动成功 接下来,我们需要修改前端JavaScript代码,对接后端 API。
Cursor前端代码修改 修改之后,打开页面,报错了页面中的CSS和JS文件找不到,可能是路径问题,需要修复下:
前端页面问题
前端页面修复 接收所有建议,需要运行一个服务用于加载前端文件:
前端正常 我们让Cursor帮忙生成测试单词数据:
测试数据生成 添加单词报错:
添加单词报错 一通修复之后,终于添加了单词
添加测试单词 单词展示和下一个功能正常:
单词展示 加入错题本正常:
加入错题本正常 单词学完:
单词学完 页面虽然展示添加到错题本成功,其实并没有真正添加到数据库:
错题本bug
错题本bug 需要Cursor帮忙修复这个问题:
Cursor修复后端代码 修复之后,重启程序,仍然有问题,不过我观察到错题记录是被答题记录更新掉了,需要让 Cursor 注意到这个问题:
Cursor修复后端代码
Cursor修复后端代码 错题本终于也正常了:
Cursor修复成功 虽然这是一个相对简单的示例项目,但它展示了 AI 辅助开发的基本流程和方法。通过这次实践,我们可以总结以下几点经验:
1、交互策略
- 与Cursor进行清晰、具体的对话
- 将复杂需求拆分成小步骤
- 及时反馈和纠正AI的输出
2、效率提升
- 善用上下文管理,保持对话连贯性
- 复用已验证的代码片段
- 建立个人的提示词模板
Cursor 中输入“帮我生成一个文档管理模块,包括文档名称、文档描述、文档类型、文档URL,以及相关审计字段。”
几分钟后,前后端代码都已经生成,编译也没有问题,但满怀希望的运行后却发现: 项目中默认的 tab 新增页变成了弹窗 蓝色主按钮也变成了绿色 等等。
虽然可以通过指定参考页面来优化,但没法一步到位终究不是那么完美。
今天,我们就来了解下如何通过
Cursor Rules,让 Cursor 生成更规范的代码,大幅减少开发调试时间,真正解放我们的时间!简单理解,Cursor Rules 就是你为 AI 设置的一些规则,你可以定义技术栈、代码规范、目录结构、组件规约等各类要求。
当 AI 生成代码时,这些规则会约束 AI 的各种“奇思妙想”,以便生成更加符合预期的项目代码。
打开 Cursor 的
Settings-Rules界面进行配置。
- 全局规则 (User Rules)
这些规则全局起效,适合存放一些个人的编程习惯或实现偏好,例如 Cursor 中文版默认的 “Always respond in 中文” 。
- 项目规则 (Project Rules)
这些规则仅对当前项目生效,文件格式存储,方便版本控制,适合整个团队共享相同规则。
点击 Project Rules 右侧的“Add Rules”即可新增。
注意,新建的 Rules 文件后缀名是.mdc,而不是原来的.cursorrules,但 Cursor 依然兼容原来的 cursorrules,记得勾选 “Includes .cursorrules file” 即可。
如上图,我设置了一个项目规则文件
tach-stack.mdc,打开它,我们会发现除了文本内容外,最顶部还有一个类型设置。
主要包括以下几种:
- Always:总是生效,规则内容会始终包含在模型上下文中。
- Auto Attached:根据后面配置的文件规则才会起效,比如,指定
src下的文件、指定 java 文件等。 - Agent Requested:你可以将你的想法写入后面的输入框,AI会判断是否需要追加规则到上下文,比如,当生成界面效果时应用当前规则。
- Manual:在与 AI 对话时,手动指定规则,比较灵活,仅当通过 @Cursor Rules 显式调用时包含。
Cursor Rules 几乎能提升所有开发场景下的 AI 协作效率,尤其在以下几个方面,效果会更明显:
- 统一技术栈:确保 AI 生成的代码符合项目所使用的框架和库。例如,前端限定使用 Vue 2.6 搭配 Element UI 2.13.2,后端采用 Spring Boot + MyBatis。
- 遵循编码规范:让 AI 熟悉并遵守团队的代码风格、命名规则和目录结构。比如,“后端的 Controller 类必须放在 com.xxx. <业务模块> .controller 路径下”。 业务模块>
- 补充关键信息:帮助 AI 更好地理解项目中的核心文件或常用工具的位置。例如,告诉 AI “HTTP 请求的封装工具在 src/utils/request.js 中”。
- 助力新人快速上手:新同事不熟悉项目结构?有了 Rules,AI 就能直接输出符合项目规范的代码,大大减少学习成本。
高质量的 Rules 是 AI 生成高质量代码的前提。
那么,这些规则从何而来呢?
- 自己整理:这是最可靠的方式,但估计也是大家最不喜欢的方式。一句一句地整理技术栈、代码规约、项目约定等内容,耗费巨大,但是长期效果**,毕竟,最适合的才是最好的。
- 别人分享的:如果不想写,或者代码本身就是开源框架搭建的,那可以直接采用官网给出的 Rules 范例(https://cursor.directory/rules),或者其它各类 Rules 共享网站。
- Cursor 自己生成:这是新版本 Cursor 的一大两点,直接在 AI 对话框中输入“/”,会弹出快捷指令 “Generate Cursor Rules” 回车后发送指令即可。
下面,我们通过文章开头的“文档管理模块”场景验证一下 Cursor Rules 的实际效果如何。
作为对比,贴一个项目信息模块界面。
提示词
帮我生成一个文档管理模块,包括文档名称、文档描述、文档类型、文档URL。结果
效果
提示词
帮我生成一个文档管理模块,包括文档名称、文档描述、文档类型、文档URL。结果
效果
Cursor 应该是当下最顶级的智能代码编写工具了,加上 Rules 后,就像野马配上了缰绳,它终于可以像我们团队的伙伴一样,高效生成合规代码,真正实现协作编程!
来自李博杰老师分享的Cursor使用技巧
Cursor的出现不仅改变了程序员的工作方式,还提高了行业门槛,使得高级程序员和AI的协作变得更加高效,甚至产品经理也能利用它快速迭代产品设计,这一切都预示着软件开发的新时代。
1. 有Cursor之后,程序员的门槛提高了,因为不再需要中低级程序员了,简单的产品一个人就搞定了,复杂的产品每个高级程序员只需做架构设计,带几个AI程序员,沟通成本还比真人低。
2. 产品经理不需要用Figma画设计稿了,可以用Lovart生成一个原型,用Cursor快速迭代,然后再交给程序员继续实现。Cursor设计师自己做了一个假的Cursor,在这个假Cursor里面快速迭代测试新特性,不需要传统的冗长PRD、设计稿、原型流程。
3. 直接让Cursor开始干活往往得到的东西不是想要的,要让Cursor先调研代码仓,得出一个修改计划,人跟它讨论修改计划,然后再让Cursor根据这个计划写代码。这就是所谓的文档驱动编程,不是先有代码再补文档,而是先跟Cursor讨论出文档,再让Cursor去按照文档实现。
4. 在与Cursor协作编程的时候,人最重要的是判断什么是好的,什么是不好的,就是所谓的审美。对人来说,读比写快很多,因此AI做生成,人做判断,可以更好利用人的智力。
5. Cursor Background Agent + Max Mode跟Claude Code差不多强,但它们有两个共同的缺点,一是烧钱,二是缺少跟人讨论plan的环节。
6. LLM的不稳定问题可以用sequential revision、self consistency等方式改进,使用不同的temperature、不同的模型反思和评估,以及跑测试用例来验证,可以把pass@k变成pass@1。
7. Cursor不只可以用来写代码,还可以用来写文档、做PPT、做视频,成为综合的工作台。
8. Cursor唯一的护城河是做得比别人快,做得越快越好。他们用Cursor开发Cursor。相比Claude Code和微软Copilot最大的优势是可以综合利用全世界最好的模型,并且Cursor是一个能给普通人用的综合工作台,不只是一个命令行。Claude能这么出名,部分也是因为Cursor。
9. 要进Cursor实习或者工作,唯一重要的是做出厉害的东西。只要你做出厉害的东西,Cursor可能会主动找到你。
10. Cursor用React、Python等前后端框架是最好的,但一些小众语言,模型没见过足够的语料,就做的不够好,这时就要给模型足够的边界。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/229516.html