AI Coding 工具使用技巧,以 Cursor 为例
itomcoil 2025-06-13 14:03 4 浏览
随着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. 主标题、副标题
扩展内容
相关推荐
- zabbix企业微信告警(zabbix5.0企业微信告警详细)
-
zabbix企业微信告警的前提是用户有企业微信且创建了一个能够发送消息的应用,具体怎么创建可以协同用户侧企业微信的管理员。第一步:企业微信准备我们需要的内容包括企业ID,应用的AgentId和应用的S...
- 基于centos7部署saltstack服务器管理自动化运维平台
-
概述SaltStack是一个服务器基础架构集中化管理平台,具备配置管理、远程执行、监控等功能,基于Python语言实现,结合轻量级消息队列(ZeroMQ)与Python第三方模块(Pyzmq、PyCr...
- 功能实用,效率提升,Python开发的自动化运维工具
-
想要高效的完成日常运维工作,不论是代码部署、应用管理还是资产信息录入,都需要一个自动化运维平台。今天我们分享一个开源项目,它可以帮助运维人员完成日常工作,提高效率,降低成本,它就是:OpsManage...
- centos定时任务之python脚本(centos7执行python脚本)
-
一、crontab的安装默认情况下,CentOS7中已经安装有crontab,如果没有安装,可以通过yum进行安装。yuminstallcrontabs二、crontab的定时语法说明*代表取...
- Fedora 41 终于要和 Python 2.7 说再见了
-
红帽工程师MiroHroncok提交了一份变更提案,建议在Fedora41中退役Python2.7,并放弃仍然依赖Python2的软件包。Python2已于2020年1...
- 软件测试|使用docker搞定 Python环境搭建
-
前言当我们在公司的电脑上搭建了一套我们需要的Python环境,比如我们的版本是3.8的Python,那我可能有一天换了一台电脑之后,我整套环境就需要全部重新搭建,不只是Python,我们一系列的第三方...
- 环境配置篇:Centos如何安装Python解释器
-
有小伙伴时常会使用Python进行编程,那么如何配置centos中的Python环境呢?1)先安装依赖yuminstallgccgcc-c++sqlite-devel在root用户下操作:1...
- (三)Centos7.6安装MySql(centos8.3安装docker)
-
借鉴文章:centos7+django+python3+mysql+阿里云部署项目全流程。这里我只借鉴安装MySql这一部分。链接:https://blog.csdn.net/a394268045/a...
- Centos7.9 如何安装最新版本的Docker
-
在CentOS7.9系统中安装最新版本的Docker,需遵循以下步骤,并注意依赖项的兼容性问题:1.卸载旧版本Docker(如已安装)若系统中存在旧版Docker,需先卸载以避免冲突:sudoy...
- Linux 磁盘空间不够用?5 招快速清理文件,释放 10GB 空间不是梦!
-
刚收到服务器警告:磁盘空间不足90%!装软件提示Nospaceleftondevice!连日志都写不进去,系统卡到崩溃?别慌!今天教你5个超实用的磁盘清理大招,从临时文件到无用软件一键搞定...
- Playwright软件测试框架学习笔记(playwright 官网)
-
本文为霍格沃兹测试开发学社学员学习笔记,人工智能测试开发进阶学习文末加群。一,Playwright简介Web自动化测试框架。跨平台多语言支持。支持Chromium、Firefox、WebKit...
- 为SpringDataJpa集成QueryObject模式
-
1.概览单表查询在业务开发中占比最大,是所有CRUDBoy的入门必备,所有人在JavaBean和SQL之间乐此不疲。而在我看来,该部分是最枯燥、最没有技术含量的“伪技能”。1.1.背景...
- 金字塔测试原理:写好单元测试的8个小技巧,一文总结
-
想必金字塔测试原理大家已经很熟悉了,近年来的测试驱动开放在各个公司开始盛行,测试代码先写的倡议被反复提及。鉴于此,许多中大型软件公司对单元测试的要求也逐渐提高。那么,编写单元测试有哪些小技巧可以借鉴和...
- 测试工程师通常用哪个单元测试库来测试Java程序?
-
测试工程师在测试Java程序时通常使用各种不同的单元测试库,具体选择取决于项目的需求和团队的偏好。我们先来看一些常用的Java单元测试库,以及它们的一些特点: 1.JUnit: ·描述:JUn...
- JAVA程序员自救之路——SpringAI评估
-
背景我们用SpringAI做了大模型的调用,RAG的实现。但是我们做的东西是否能满足我们业务的要求呢。比如我们问了一个复杂的问题,大模型能否快速准确的回答出来?是否会出现幻觉?这就需要我们构建一个完善...
- 一周热门
- 最近发表
-
- zabbix企业微信告警(zabbix5.0企业微信告警详细)
- 基于centos7部署saltstack服务器管理自动化运维平台
- 功能实用,效率提升,Python开发的自动化运维工具
- centos定时任务之python脚本(centos7执行python脚本)
- Fedora 41 终于要和 Python 2.7 说再见了
- 软件测试|使用docker搞定 Python环境搭建
- 环境配置篇:Centos如何安装Python解释器
- (三)Centos7.6安装MySql(centos8.3安装docker)
- Centos7.9 如何安装最新版本的Docker
- Linux 磁盘空间不够用?5 招快速清理文件,释放 10GB 空间不是梦!
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)