Cursor 使用技巧篇

通用技巧

  • 描述明确,需求具体: 提示词越清晰具体,AI 理解起来就越容易,给出的答案也越准确。避免提出含糊或宽泛的问题,而应直截了当地说明想要实现的功能或解决的问题。例如,不要问“怎么用 Python 做这个? ”,可以改为“请帮我编写一个 Python 函数,实现输入一个列表并返回其中所有偶数的和“。 又或者在前端场景下,与其说“添加登录”,不如详细说明“使用 Express 实现一个用户登录功能,需支持 JWT 认证
  • 将复杂任务拆解成小步骤: 面对复杂需求,不要一次性抛给 AI。将问题分解为可以逐步完成的子任务,然后逐一与 Cursor 交互完成。例如,需要实现一个完整的模块,可以先让 AI 生成项目骨架,然后逐步请求编写各个组件或函数。每完成一步都检查并验证,再进行下一步。这样的迭代方式类似敏捷开发,能够让 AI 在每一步都更聚焦当前子任务,减少出错概率。
  • 及时反馈,迭代改进: 把 AI 当作对话中的搭档,及时反馈它的输出很重要。如果 Cursor 给出的代码不完全正确或不符合预期,不妨直接指出问题并让它修改。例如:“上一步的函数有逻辑错误,×× 部分需要按…改”。Cursor 能根据你的反馈迅速调整答案,给出改进版本。通过这种 反复对话—修正 的过程,最终能得到令人满意的结果。切忌对 AI 的首次回复将就接受,多与其“商量”几轮,你会发现 Cursor 的答案会越来越贴近你的想法。
  • 善用上下文与参考资料: Cursor 的强大之处在于上下文理解。但你也需要主动提供有用的背景信息给 AI。例如,在提示中通过引用代码片段、文件名、函数签名等,让 AI 更精准地明白你在问哪部分内容。Cursor 提供了 “@” 引用语法来帮助这一点:在对话中输入 @​可选择项目中的文件或先前对话片段作为引用,注入 AI 上下文。这样当你让 AI 修改代码时,它就知道改哪个文件的哪段内容,从而减少理解偏差。另外,如果某段代码已经通过测试,你可以在请求新功能时提醒 AI “保持已实现部分不变” ,或者直接让它复用你提供的代码片段。这种上下文管理能力可以保持对话的连贯性,避免 AI 重复先前工作。

读文档

点击 Cursor Setting -> Features -> Docs -> Add new doc, 然后把文档的链接输入进去就行。

image

在对话框 @ Docs 然后选中索引的文档直接提问。比如我这里直接让 Cursor 读 spring ai 的文档,问它:我想要自定义大模型的 api 和 api url 怎么做?然后它就会去检索文档,然后给出答案。你也可以看到它查询到的文档。

image

光这个功能我觉得就值 20 刀,以前没有 AI 的时候,找各种文档的配置啥的真是苦力活。

读代码

Cursor 由于对代码库做了索引,所以可以把它当做一个知识库来提问。这样对新代码的学习速度会快很多,相当于你在跟仓库作者聊天。甚至你可以让它给你画一个:mermaid 的流程图来解释代码的流程。

image

先聊后写

Cursor 的 Agent 模式默认会直接帮你开始写代码,但有时候它会过度设计,所以我一般会用利用 Cursor rule 的功能,加一个全局的规则:“先别着急写代码,我们先聊聊,等我确认让你写的时候再开始写”,这样它就不会直接开始写,而是会想把思路提供出来,跟你讨论一下。

image

Cursor ignore 文件

.cursorignore​跟 .gitignore​文件类似,在这里面的文件和文件夹不会被 Cursor 建索引,一个是防止索引不必要的文件,比如一些日志或者用不到的三方源码,另一个也是安全考虑,有些敏感内容和代码可以放进去,这样也不会被上传到云端建索引。

你可以让它帮你建一个,也可以手动建。

image

Debug 技巧

Cursor 经常会遇到 bug 解决不了,陷入了死循环。这个时候有个小技巧,我会打开一个新的对话,然后使用下面的 prompt:

请仔细审查代码更改,描述代码的意图,一步一步向我解释这些代码是如何工作的。

然后在它解释完之后,用第二个 prompt:

我希望做一个功能: * 功能描述 1 * 功能描述 2 但是目前代码有下面的问题: * 问题 1 * 问题 2

由于第一个 prompt 会产生很多有用的 contexts,这让第二个 prompt 的 debug 效果变得非常好。

Cursor rule

Cursor 允许用户编写规则文件来自定义 AI 风格,例如规定代码风格、项目背景、命名规范等。这些规则相当于为 AI 设定“系统提示”,可作用于所有对话或特定项目。通过积累和配置这些模板和规则,你相当于训练出了一个更懂你需求的 AI 助手,在协同开发中事半功倍。

不知道 Cursor rule 怎么写,可以去参考:https://github.com/PatrickJS/awesome-cursorrules,下面是 Java 的一个例子。

image

配置方法如下:

image

解决上下文遗忘

在长对话或多轮编辑后,可能出现 Cursor 似乎“忘记”之前上下文的情况,这是因为对话长度超过模型窗口,早期内容被裁剪了。这个时候有两种方式:

一种是修改之前的问题,这样对话会从新的问题这里开始。

image

另一个方法就是新开一个对话,然后 @ Past chats,选中之前的对话作为上下文。

image

当然最好还是一个小功能就开一个对话,尽量不要在一个对话里面聊很多东西,容易出现上下文遗忘的情况,模型现在对长上下文效果并不是很好。

2 操作
hansong 在 2025-04-06 22:15:07 更新了该帖
hansong 在 2025-04-06 22:12:28 更新了该帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...