百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

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 理解的需求是否为自己想要的。

步骤执行

  1. Cursor去编译项目,并解决问题(减少从 Xcode 复制错误代码,再给Cursor修复的时间)。
  2. 用 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 allAccept all

回滚: Checkpoint created。 restore ,点击 restore

预防

  1. 让 AI 复述需求指令。请你先复述一遍我的需求再进行答复,让我确认你清楚我的需求|延伸:可以试试将其更新到 .cursorrules 文件中。
  2. 让这个需求指令足够小,足够单一化,不要让 AI 猜你的想法。要有足够的针对性,并且要明确范围,最大程度缩小辐射范围。在修改内容时,要尽可能 @相关文件,并且告诉 AI 要在什么范围内修改

2)需求拆解:多需求,使用有序/无序列表的方式描述。

把需求拆解为多个功能 feature

3)把 AI 当成小孩子:尽可能逻辑清晰,描述问题要加以引导。

必要时,发送示例参考、发送自己的解决思路给 AI(可选)。

4)新项目的准备 步骤

composer 帮你检索 codebase,然后生成 .cursorrules 文件。可手动添加想要索引忽略掉的文件。

打开「设置-features-Codebase indexing」,点击「Resvnc Index」重新索引。

将文档录入 Docs 中备用,如「需求文档、接口文档、开发相关的技术文档」等。

在项目根目录中,新建.cursorrules 文件,作为 Prompt 前置词。

  1. 在 chat 中,@相关文档(项目文档、需求文档)让 AI 检索整个项目,并生成一个 .cursorrules 文件,并适当修改。
  2. 比如「请你先复述一遍我的需求再进行答复,让我确认你清楚我的需求」。

如果是版本差异间的 bug,可以 @git ,然后让 chat 检索差异,精准获得 bug 产生原因以及解决思路。

  1. 简单 bug 直接让 composer 修复。
  2. 复杂 bug 则需要新建 notepads 文件,详细阐述 bug 产生可能性及解决方案。然后在 composer 中 @notepad 让 AI 修复。
  3. 项目结束后,可以将 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的互联网企业来说,整个系统都是...