AI Coding 工具使用技巧,以 Cursor 为例
zhezhongyun 2025-05-26 20:14 23 浏览
随着AI技术的不断发展,AI编程工具如Cursor正逐渐成为开发者的新宠。这些工具不仅能够提高编程效率,还能帮助开发者解决复杂的开发问题。本文作者结合自己的实际使用经验,分享了如何高效使用Cursor进行项目开发的技巧和思路。
这篇内容主要分享我在用 Cursor 过程中的一些技巧,内容包括怎么确认需求、拆分任务、执行落地,以及写代码和调试时的思路。
此外还会聊聊项目启动前的准备、IDE 的配置,甚至是 App 上架的一些小经验,希望能给同在开发路上的你参考一下。
1. 技巧 & 思路
需求确认
- 新建项目 idea.md 文件,而非 notepad(支持 MarsCode 等插件引用),通过与 chat 对话,去确认、完善需求。
- 后续可以完善,并作为模板使用。
注意 :后续封装代码时要考虑删除(毕竟需求都做完了,需要时再新建)。
需求分拆
- 基于需求分拆为可实现的小步骤,并新建 reference.md 文件。
- 目的是确保需求清晰,AI 能够理解你的需求。Cursor 还没有强到分拆、执行这么多需求(上下文长度),几句话让 AI 实现和你想象中一模一样的东西,所以这里核心要确认 AI 理解的需求是否为自己想要的。
步骤执行
- 让 Cursor去编译项目,并解决问题(减少从 Xcode 复制错误代码,再给Cursor修复的时间)。
- 用 html、css、js 的方式生成静态页面。修改、完善需求。
写代码(要有耐心):写代码 – 改 bug – 调试 – 验证。
其他 Rules
- 如果涉及有需要密码验证的环节,请及时打断并详细说明,我应该执行什么步骤。
- 如安装依赖时,不断报错。
2. 持续学习如何更好与 AI 协作
2.1 新建文件 .cursorrules .cursorignore
请你帮我检索 codebase,并生成 .cursorrules 以及 .cursorignore 文件
请你在执行操作前,先复述一遍我的需求再进行操作,让我先确认你清楚我的需求
2.2 需求确认
我想要这个 App 是一个简单的、可本地化运行的 App,请你作为产品专家,帮我完成需求的梳理,并将内容填充到文件 `idea.md` 中。
2.3 需求分拆
现在需要输出高保真、可交互的原型图,并确保这些原型图可以直接用于开发。
1. 用户体验分析:请先分析这个 App 的主要功能与用户需求,确定核心交互逻辑。
2. 产品界面规划:作为产品经理,定义关键界面,确保信息架构合理。
3. 高保真 UI 设计:作为 UI 设计师,设计贴近真实 iOS 设计规范的页面,使用现代化的 UI 元素,使其具有良好的视觉体验。
4. HTML 原型实现:使用 HTML + Tailwind CSS(或 Bootsrap)生成所有原型界面,并使用 FontAwesome(或其他开源 UI 组件)让界面更加精明,解决真实的 App 设计,拆分代码文件,保持结构清晰。
5. 每个界面应作为独立的 HTML 文件存放,比如 home.html, Profile.html, settings.html 等。
– index.html 作为主入口,不直接写入所有页面的 html 代码,而是使用 iframe 的方式嵌入这些 HTML 片段,并将所有页面直接平铺展示在 index.html 页面中,而不是跳转链接。
– 真实感增强,界面尺寸应模拟 iPhone 16 Pro Max,并让界面圆角化,使其更像真实的手机页面。
– 使用真实的 UI 图片,而非占位图片,可以用 Unsplash、Pexels、Apple 官方 UI 资源中选择。
– 添加顶部状态栏(模拟 iOS 状态栏),并包含 App 导航栏(类似 iOS 底部 Tab Bar)。 请按照
以上要求生成完整的 HTML 代码,并确保其可用于实际开发。
此时,可以随时截图 index.html 页面的原型图使用。
2.4 步骤执行
请你参考文件 `prd.md` 中的需求和原型图,帮我完成这个 iOS App 的开发。
当前位置在这个 iOS 开发项目的根目录中,已有文件不需要你重复创建,直接编辑就好,但你可以创建本地没有且你需要的文件。
2.5 Bug 修复
新建文件 bug.md ,将 Xcode 的 bug 复制进去, 让 AI 处理。
2.6 使用技巧
清晰有逻辑的表达需求、让 AI 复述需求、发送示例参考、发送自己的解决思路给 AI(可选)
1)Toglle AI Pane 技巧
检测:Save all 支持先保存并测试,确认后再选择Reject all或Accept all
回滚: Checkpoint created。 restore ,点击 restore
预防:
- 让 AI 复述需求指令。请你先复述一遍我的需求再进行答复,让我确认你清楚我的需求|延伸:可以试试将其更新到 .cursorrules 文件中。
- 让这个需求指令足够小,足够单一化,不要让 AI 猜你的想法。要有足够的针对性,并且要明确范围,最大程度缩小辐射范围。在修改内容时,要尽可能 @相关文件,并且告诉 AI 要在什么范围内修改。
2)需求拆解:多需求,使用有序/无序列表的方式描述。
把需求拆解为多个功能 feature
3)把 AI 当成小孩子:尽可能逻辑清晰,描述问题要加以引导。
必要时,发送示例参考、发送自己的解决思路给 AI(可选)。
4)新项目的准备 步骤
让 composer 帮你检索 codebase,然后生成 .cursorrules 文件。可手动添加想要索引忽略掉的文件。
打开「设置-features-Codebase indexing」,点击「Resvnc Index」重新索引。
将文档录入 Docs 中备用,如「需求文档、接口文档、开发相关的技术文档」等。
在项目根目录中,新建.cursorrules 文件,作为 Prompt 前置词。
- 在 chat 中,@相关文档(项目文档、需求文档)让 AI 检索整个项目,并生成一个 .cursorrules 文件,并适当修改。
- 比如「请你先复述一遍我的需求再进行答复,让我确认你清楚我的需求」。
如果是版本差异间的 bug,可以 @git ,然后让 chat 检索差异,精准获得 bug 产生原因以及解决思路。
- 简单 bug 直接让 composer 修复。
- 复杂 bug 则需要新建 notepads 文件,详细阐述 bug 产生可能性及解决方案。然后在 composer 中 @notepad 让 AI 修复。
- 项目结束后,可以将 notepad 文件封存,下次就可以让 AI 快速理解这个项目。一定要及时归纳,因为 notepad 是存放在 Cursor 的缓存中,换设备后就丢失了。
2.7 常用文件创建
readme.md 代码简介及代码修改说明。
notepads 与 composer的互通桥梁。
- feature.md 功能说明,过程需不断补充。
- error.md 错误说明,实时更新。先与 chat沟通解决方案,并更新解决方案在当前文件,让composer去解决。
.cursorignore 将包含常见的需要忽略的文件和目录。
.cursorrules 只针对这个项目的规则,需要 AI 工作时参考的 Rules。包括但不限于:前置、项目简介、技术架构、目录结构、代码规范、命名规范、组件规范、样式规范、国际化规范
3. IDE 使用技巧
Xcode 新建项目完毕后,要在 Cursor 中「暂存更改」,方便回溯到刚创建时的文件及文件夹结构。
在源代码管理工具中,后面的 “U” 通常表示文件的状态。具体来说:
U:表示文件是“未跟踪”(Untracked)。这意味着该文件存在于工作目录中,但尚未被 Git 纳入版本控制。
文件状态的常见标识:
- U:未跟踪文件
- M:已修改文件(Modified)
- A:已添加文件(Added)
- D:已删除文件(Deleted)
- R:已重命名文件(Renamed)
4. App Store 上架技巧
4.1 Xcode
1)删掉 iPad 版本。
2)最低 iOS 运行版本为 iOS 16。注意,此时要再次编译下,确认是否有问题。
3)Display Name 即为 App Store 显示名称。
4)Version 为 1.0.0
5)创建图标。
- 可以让 Cursor 创建一个 1024*1024 的 svg 图片作为应用图标,比新建文件 icon.svg 来存储内容。
- 然后将 icon 导入 Xcode 中的 Assets 中。
6)最后,在 Xcode 中的打包项目,路径:Product-Archive – Distribute App – App Store Connect – Distribute
7)Web 页面「App Store Connect」
- 发布文案可以通过 Cursor 来写。
- 隐私协议、技术支持文档,可以放在飞书云文档中。
我要把 App 发布上架到 App Store,请帮我完成上架信息的填写,包括有
1. 推广文本、描述、关键词
2. 技术支持说明、隐私协议说明
3. 主标题、副标题
扩展内容
相关推荐
- Trump Pushes for 15%-20% Minimum Tariffs on EU, Sticks to Auto Duties: Report
-
TMTPOST--U.S.PresidentDonaldTrumpistakingatougherstanceduringtradenegotiationswiththe...
- Note-15.使用A4988控制步进电机(dvp15mc11t控制步进电机)
-
如果需要控制一堆步进电机,那么只使用一个Arduino来控制,就会占用大量的处理时间,而无法处理其他事情,除非使用一个独立的专用步进电机驱动器:A4988。A4988只需两个引脚就可以控制双极步进电机...
- Negotiated settlement, not sanctions, the right way to end the Ukraine crisis
-
Negotiatedsettlement,notsanctions,therightwaytoendtheUkrainecrisis:ChinaDailyeditorial...
- U.S. Services May be Added to EU's Retaliatory Target List as More Members Seek Powerful Trade Tool If Talks Fail
-
TMTPOST--AmericanservicescouldbeaddedtotheEuropeanUnion’sretaliatorytargetlist,highlig...
- S7-1200伺服指令运动指令(s71200伺服位置控制实例)
-
1.MC_Halt指令名称:停止轴运行指令功能:停止所有运动并以组态的减速度停止轴。使用技巧:常用MC_Halt指令来停止通过MC_MoveVelocity指令触发的轴的运行。『注意』部分输入/输出管...
- Deepseek太强了!等了10年的Excel模糊下拉,竟然5分钟就搞定了
-
今天跟大家分享下我们如何通过Deepseek来编写VBA代码,制作模糊搜索的下拉菜单,这个等来十来年的功能,用Deepseek竟然几分钟就搞定了,不得不感叹AI工具的强大,我们以后能干的过AI吗,这真...
- 7.Unity物理关节(unity物理骨骼)
-
7.物理关节Unity的物理关节组件将刚体连接到另一个刚体或空间中的固定点。施加使刚体移动的力,关节限制可以限制移动。关节赋予刚体一定的自由度,从而使这些刚体具有不同的运动。Unity提供的物理关...
- 西门子111报文对应FB284引脚(西门子111报文详解)
-
西门子FB284是基于111报文的功能块,使用FB284比较方便,直接调用就可以控制V90伺服的定位控制。下面是整理的FB284对应的111报文。便于理解FB284功能块,更方面应用在实际项目中。11...
- 数据质量动态探查及相关前端实现(数据质量改进实践指南)
-
需求背景数据探查上线之前,数据验证都是通过写SQL方式进行查询的,从编写SQL,到解析运行出结果,不仅时间长,还会反复消耗计算资源,探查上线后,只需要一次探查,就可以得到整张表的探查报告,但后续...
- 阿里面试官:你连个排序算法都讲不明白?出门右拐吧
-
排序算法一表总览其他注意事项:计数排序中,kkk是整数的范围稳定性是指,序列中相同的数是否有可能交换顺序,例如序列中有两个8,顺序为888和8′8^{'}8′,如果在排序完之后,顺序有...
- 直流电机速度、位置双环控制简明教程
-
速度、位置的双环控制是我们在电机的控制系统中常用的方法,很实用。下面让我们来看一下内部实现的原理。1.速度闭环控制我们一般在速度闭环控制系统里面,使用增量式PI控制。而在我们的微处理器里面,因为控制器...
- 纳米机器人的精准定位与导航(纳米机器人怎么控制位置)
-
纳米机器人的精准定位与导航涉及多学科交叉技术,其“源码”(控制逻辑与算法)需结合硬件特性、环境感知和执行器设计。以下从控制原理、算法逻辑、关键技术实现等方面提供概念性思路(非实际可运行代码),供技术探...
- C语言进阶教程:多级指针的应用(c语言一级指针和二级指针)
-
在C语言中,指针可以指向变量的地址。多级指针(PointerstoPointers或MultilevelPointers)则是指向另一个指针地址的指针。这种概念可以扩展到任意级别(二级指针、...
- 被 Trac 的文件整理能力圈粉了!这 “香” 气挡不住
-
前阵子整理电脑文件夹时,我遇到了个麻烦:上千个文档和照片,要是手动一个个重命名、分类,不仅手得点到发麻,估计还得耗上一上午。于是我就琢磨着,能不能找个办法实现一键批量重命名。我先在网上搜了些批量改名软...
- Enhancer-轻量化的字节码增强组件包
-
一、问题描述当我们的业务发展到一定阶段的时候,系统的复杂度往往会非常高,不再是一个简单的单体应用所能够承载的,随之而来的是系统架构的不断升级与演变。一般对于大型的ToC的互联网企业来说,整个系统都是...
- 一周热门
- 最近发表
-
- Trump Pushes for 15%-20% Minimum Tariffs on EU, Sticks to Auto Duties: Report
- Note-15.使用A4988控制步进电机(dvp15mc11t控制步进电机)
- Negotiated settlement, not sanctions, the right way to end the Ukraine crisis
- U.S. Services May be Added to EU's Retaliatory Target List as More Members Seek Powerful Trade Tool If Talks Fail
- S7-1200伺服指令运动指令(s71200伺服位置控制实例)
- Deepseek太强了!等了10年的Excel模糊下拉,竟然5分钟就搞定了
- 7.Unity物理关节(unity物理骨骼)
- 西门子111报文对应FB284引脚(西门子111报文详解)
- 数据质量动态探查及相关前端实现(数据质量改进实践指南)
- 阿里面试官:你连个排序算法都讲不明白?出门右拐吧
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)
- opacity 属性 (32)