Cursor —— AI编辑器 使用详解
Cursor - The AI Code Editor
一、Cursor 是什么?
Cursor 是一款优秀的AI代码编辑器,它内置了 Deepseek-R1、GPT-4、Claude等 AI 模型。
简单说,就是:Cursor = VS Code 编辑器 + AI 大模型 + Cursor 功能特性(代码补全、文件编辑等)
它可以:
- 智能补全代码
- 解释代码
- 定位Bug
- AI大模型问答
- 文本编辑
更重要的是,它可以:
- 根据自然语言,生成代码
这一点,非常利好 “不懂编程,但是有开发想法” 的人。
二、核心功能
1、Cursor Tab
Cursor Tab 是手写代码过程中,使用最高频的一个功能。
写代码时,Cursor 会基于当前光标的位置推断出你接下来要写的代码内容。
Cursor 会像输入法的联想功能一样,联想出你接下来想要编写的内容。如果接受,只需要按键盘的 Tab 键,代码就会自动生成,然后 Cursor 会基于新的光标位置推断新的内容。
如果不接受,只需按照自己的想法继续敲代码即可。Cursor 会基于新的光标位置,推断下一步的联想。
在上下文代码逻辑比较完整的情况下,Cursor 对代码的联想一般比较准确。所以大多数时间里,你会频繁地按 Tab 键采用 Cursor 联想的代码。(未来就像 tab tab tab)
2、聊天窗口:Chat
Chat 聊天窗,是最核心、最重要的一个功能。
Chat 聊天框分为 3 种模式,分别为:Ask、Edit、Agent。
(1)Ask
Ask 模式,类似你使用 Deep Seek app 来聊天的功能。它侧重于对你的提问进行解答。
平时开发时,可以把它当作:
- 思维发散的工具,辅助你设计一些创新的游戏设计
- 技术咨询的工具,告知你要实现这样的功能,需要用到哪些技术
- 代码解释的工具,复制一段代码到聊天框,让Cursor告诉你这段代码的逻辑,帮你排查代码是否有Bug
- 提高效率的工具,一些机械式的编码工作,一些不太熟悉的编码工作,可以让Cursor帮你写
- 案例:之前做Demo,找了一个第三方特效插件,有一个Shader用的是内置渲染管线的写法,让Cursor把这份Shader转为URP渲染管线的写法
- (其他任何你能想到让Cursor去做的功能)
(2)Edit
Edit 模式,可以理解为增强版的 Ask 模式。相比之下,Edit 模式增加了直接修改项目文件、代码的功能。
举个例子,我分别在 Ask 模式和 Edit 模式下,给 AI 提了相同的问题:
一个简单跑酷游戏的赛道生成逻辑怎么写
Ask 模式,生成了 C# 代码以及文字描述:
Edit 模式,则是直接修改了代码文件,并给出了文字描述:
Edit 模式,更适合在需求明确的情况下,让 Cursor AI 直接参与到项目工作流中。
当然 AI 生成的代码还是需要人去评估的,这些代码生成后,对应的文件处于“待保存”的状态。
你需要一个文件一个文件、一行代码一行代码地去过一遍:
- 符合要求的代码,保留——“√ Accept”
- 不满足要求的代码,还原——“× Reject”
你可以在 AI 的回答中选择是否使用生成的代码:
也可以在聊天窗口的代码修改总览中选择是否采纳代码:
也可以在生成的代码文件中,做更精细化的采纳判断。
那么,如果你不会写代码,该怎么用这个功能?
很简单,无脑点 Accept All 采纳所有生成的代码,然后运行起来看看,不符合效果的,继续向AI提出修改意见,直到代码的运行符合预期。
文章一开始的案例演示,用的就是这种方式。
(3)Agent
Agent 模式,可以理解为增强版的 Edit 模式。
除了 Edit 的功能,它还可以:
- 根据搜索内容的关联性,搜索相关的代码
- 调用 MCP 服务器,接入其他 AI 工具,比如:文生图
- 运行终端(命令行)指令
- 自动从网上搜索最新的内容
因为 Agent 模式比 Edit 模式更强大,逻辑更复杂,所以 Agent 模式的执行速度会比 Edit 模式慢很多,但是回答的质量也高很多。
什么情况下使用 Agent 模式?
- 有编码需求的前提下,
- 如果你不是很懂代码
- 无脑选择 Agent 模式来生成代码;
- 如果你是程序员
- 如果要生成的代码需要分模块才能理清楚
- 选择 Agent 模式,交给 AI 来托管
- 如果只是生成一些简单的逻辑
- 选择 Edit 模式,精细化操控
Ctrl K 其实是一个 Edit 模式的内嵌聊天窗口。
你可以把光标定位到文件的某一行,在内嵌窗口中输入你希望 AI 生成的代码逻辑。
三、Cursor的使用技巧
1、AI 乱改代码问题的解决思路
网上经常会刷到,网友使用 Cursor 时,AI 把之前生成好的、可以稳定运行的代码给改坏了。
这个问题可以拆分成3个步骤进行解决:预防、检测、回滚。
1、预防
预防,就是避免让AI生成自己不想要的代码。
换种说法,就是:怎么向 AI 提问,让 AI 完全理解我们的诉求。
有以下几种策略:
- 让 AI 复述需求
在聊天框输入需求之后,加上一句:
请先复述一遍我的需求,先不要修改代码,确保你真正理解我的需求。
然后基于 AI 的回复,确认AI的理解和需求完全一致时,再让 AI 生成代码。
- 限定影响范围
让 AI 生成代码时,尽可能引用相关的文件、文件夹,限定 AI 生成、修改代码的文件范围。
哪怕 AI 生成了错误的代码,也可以让影响降到最小。
- 拆解并细化需求
AI 善于执行明确的指令,太泛、太模糊的指令会让 AI 思维发散,从而生成偏离期望的代码。
- 引导与修正
AI 在知识领域非常强大,但是在自然语言的沟通理解上,尤其是中文,还远远没能达到一名成年人的理解水准。
即使是两名智力正常的程序与策划,也依然会出现开发内容与项目需求有偏差的情况,所以在AI思考方向有偏差时,要及时修正、加以引导。
必要时,可以将自己对问题的思考策略告知AI,也可以附上一些引用、链接等,帮助 AI 更好地理解我们的需求。
2、检测
这一点,在前面讲 Edit 时有提到过。在 Edit 模式下,AI 可以一次性帮我们编写很多代码文件,你需要自己去判断这些代码是否符合预期,从而判断代码是否采用。
不熟悉编程的同学,可以 Accept All,运行后根据结果,告知 AI 哪些地方不符合预期,期望的预期是怎么样的,以此来一步步把代码修改成自己想要的样子。
3、回滚
回滚,是一个追悔的功能。
如果误点了 Accept All,但是代码逻辑又不是自己想要的,可以找到代码生成前的那一次提问,点 Checkpoint 旁边的 Restor 把代码回滚到修改前的状态:
遵循这 3 个步骤,可以让 AI 乱改代码的可能性降到最低。
即使你不会写代码,也可以让 AI 写出符合你心意的代码。
四、Cursor 的整体使用思路
- 需求分析、整理成档:
- 用 Ask 模式,找 AI 把需求聊透,并记录成文档,以便后续引用,让 AI 快速理解。
- 编写代码、按需选模式:
- 程序员:用 Edit 模式编写简单的代码逻辑,借助 Agent 模式编写复杂模块的代码逻辑
- 门外汉:无脑用 Agent 模式。
- 使用引用、制定规则:
- 高效使用 @ 引用功能
- 合理制定规范,让 AI 的回答更精准。
- 模型选择:
- 编码用 Claude-xxx-sonnet
- 聊需求用 Deep Seek R1、ChatGPT-4o。
参考:https://zhuanlan.zhihu.com/p/27335614120