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 种模式,分别为:AskEditAgent

(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

相关推荐
小森776725 分钟前
(六)机器学习---聚类与K-means
人工智能·机器学习·数据挖掘·scikit-learn·kmeans·聚类
RockLiu@8051 小时前
探索PyTorch中的空间与通道双重注意力机制:实现concise的scSE模块
人工智能·pytorch·python
进取星辰1 小时前
PyTorch 深度学习实战(23):多任务强化学习(Multi-Task RL)之扩展
人工智能·pytorch·深度学习
极客智谷1 小时前
Spring AI应用系列——基于ARK实现多模态模型应用
人工智能·后端
思悟小卒1 小时前
可以自我反思的检索增强生成
人工智能
学点技术儿2 小时前
torch.cuda.empty_cache()使用场景
人工智能
孔令飞2 小时前
如何在 Go 中实现各种类型的链表?
人工智能·云原生·go
XCristiano2 小时前
LLM魔法:让非结构化文本变身知识图谱
人工智能
redparrot20082 小时前
LeNet5 神经网络的参数解析和图片尺寸解析
人工智能·深度学习·神经网络
刘立军2 小时前
本地大模型编程实战(26)用langgraph实现基于SQL数据构建的问答系统(5)
人工智能·后端·python