如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

Cursor首席设计师 Ryo Lu 上周发布了一条内容,关于如何正确使用Cursor,一共 12 条方法,可能部分小伙伴已经看过了。

不过没关系。今天这篇文章,除了分享 Ryo Lu 提到的这 12 条方法,还会基于我的Cursor实践对这些方法进行解读(解读内容会用灰字进行标注),这些方法同样适用于Windsurf、Trae的开发实践。


正确使用 Cursor = 快速、干净的代码。

使用错误 Cursor = 你将整个星期都在清理“AI意大利面”(即乱糟糟的代码)。

这就是正确使用它的方法:

1. 在一开始就设定 5-10 条清晰的项目规则,让 Cursor 了解你的结构和约束。尝试为现有代码库执行/generate rules。

设定项目规则很重要,我之前对比过设定了项目规则,以及没有设定项目规则去推进同一个项目,后者会明显更吃力,因为代码生成更不可控。

为什么是 5-10 条项目规则?如果大家之前看过这篇文章 Cursor Rules在实际开发中的三种层级&实际应用(附20个常用Rules),应该还记得:

随着项目壮大,我们已经没法用一条通用的.cursorrules来跑完整个项目,大家想要更精准地控制代码生成,就需要更细致的项目规则。在Cursor实际开发中,项目规则可以分为三个层级,即通用规则、编程语言规则框架规则。根据项目类型、规模的不同,需要的项目规则数量也会有所区别。

如果是全新的项目,建议先从通用规则(对应rule type的Always)开始;

cursor 教程
如何学习使用cursor?

也可以在完成项目脚手架后,在 Agent 模式输入中执行/generate rules。

注:项目脚手架提供项目初始结构基础配置(如目录、工具链、依赖等),它的核心是“加速启动”


如何学习使用cursor?

2. 在提示中要具体。详细说明技术栈、行为和约束,就像一个迷你规范。

先给大家看三个提示词案例:

案例1:“web版”限定了这个贪吃蛇游戏的技术栈范围,其中“尽量不引入外部依赖”也降低了依赖的安装,基本就是一个最简单的HTML+CSS+JavaScript的技术栈组合

请帮我开发一个web版贪吃蛇游戏,尽量不引入外部依赖

案例2:“Chrome浏览器插件”类别限定了技术栈范围,功能描述则做了进一步的约束

请帮我开发一个“图片转png”Chrome浏览器插件,这个插件的功能是: 1、开启插件后,用户在浏览器图片鼠标右键后会出现插件入口"下载为png",点击就可以把选中的任意格式的图片下载为png格式的图片; 2、支持下载为png的图片格式包括JPG、JPEG、PNG、BMP、webp、svg; 3、使用OffscreenCanvas避免阻塞主线程; 4、通过Blob URL减少内存占用。

案例3:这是指定特定 Page 进行 UI 优化,同时 UI 优化方向进行了约束

请优化 LoginPage 的 UI,使其符合现代简约风格, 具体要求: 1、布局:登录表单居中,使用卡片式设计(圆角 8px,轻微阴影) 2、配色:主色调深蓝 (#1E3A8A),背景浅灰(#F9FAFB) 3、字体:标题用 Poppins 加粗,正文用 Inter 常规 4、交互:输入框聚焦时边框变蓝,按钮悬停时轻微变深 5、参考风格:类似 Notion 的登录页面,但更简洁一些。 整体功能架构保持不变

大家不难发现,每一轮的提示词对话,其实都是在做一次小的规范,是在User Rules、.cursorrules、Project Rules之下的更细颗粒度的一个规范。

之前分享过10个场景的提示词模板,包括:代码生成、功能拓展、UI调整、代码解释、项目重构,代码调试、代码修复、测试用例、代码翻译、API调用,感兴趣的小伙伴可以点击查看>>>和Cursor协作450+小时后,我整理了这10个常见场景的Cursor提示词模板

但如果是做功能相较复杂的中大型项目,那么一次性搞定基本是不可能的。之前看过这么一个案例,就是团队用AI IDE花了3-4个小时进行开发,结果后面程序完全没法运行。


如何学习使用cursor?

这种案例并不少见,他们的问题都很相似,就是前期没有做好项目和结构拆解,中期任由AI IDE自己去跑代码也不做太多调试和审查,到了后期代码就成了一团改不动也运行不了的 。

这个问题解决起来的核心就是功能模块化,然后按逐个模块解决。之前在知识星球其实也有提到:


如何学习使用cursor?

而关于前期项目和代码结构拆解,之前其实也有一期主题分享,感兴趣的可以移步查看>>>Cursor项目后期维护全是坑?前期一定要做好项目和代码结构拆解

4. 先写测试,锁定它们,然后生成代码,直到所有测试通过。

由于 Agent 可能会修改测试文件去让测试通过,所以在测试前,建议使用 .cursorignore 功能去防止 Agent 修改测试文件。


如何学习使用cursor?

.cursorignore 可以在【Cursor Settings-Features-Hierachical Cursor Ignore】中开启,这个功能主要用于控制 .cursorignore 文件的作用范围。

注:类似.gitignore,用于指定哪些文件和目录应该被 Cursor 忽略(也就不会被Cursor的智能功能如代码补全、文件搜索等处理)。

当启用【Hierachical Cursor Ignore】选项后,一个目录中的 .cursorignore 文件的规则将会应用到其所有子目录,大家可以在项目根目录或任何子目录创建 .cursorignore 文件,然后在文件中列出想要忽略的文件模式,比如:

node_modules/ *.log .DS_Store build/ dist/

对于大型项目,建议启用此选项以便更好地管理忽略规则,可以在不同层级的目录放置 .cursorignore 文件来实现更细粒度的控制。

注意:如果修改了此设置,需要重启 Cursor 才能生效。

5. 总是审查 AI 输出,并对任何错误的内容进行硬修复,然后告诉 Cursor 将其作为示例使用。

Cursor 每次给出的代码并不完全都是正确的或符合要求的,所以需要我们进行人工审查。

举个最简单的例子,比如你所在企业对代码注释有一定规范,但Cursor每次生成都和这种企业规范有一定差距,这时候你就需要自己按照企业代码注释规范进行调整。

当然你不用每次都手动调整,最方便的方法就是将这种规范作为示例喂给Cursor,这样Cursor就能学会这种示例并应用到下次编程任务中。

6. 使用@file、@folder、@git,将 Cursor 的关注点定位到代码库的正确部分。

这个功能一般会搭配第三点“按模块推进开发”使用,因为随着项目代码越来越多,我们不可能每次都遍历项目文件去做内容调整,一方面受上下文限制,另一方面遍历代码往往会导致Cursor改动一些我们并不希望它改动的代码。

所以要善用@file、@folder、@git 这些上下文功能,它们相当于一个定位工具,实现指哪打哪。

7. 将设计文档和检查清单保存在 .cursor/ 中,以便 Agent 能够全面了解下一步要做什么。

.cursor/ 目录一般包含项目规则(即第一点提到的rules)以及的代码索引(比如这里提到设计文档、检查清单等),都是用于加速 AI 的代码分析和上下文检索。

如果从实现目的看,设计文档和检查清单都是为了让 Agent 更全面了解当前项目进度和下一步计划,那文件不一定要保存在 .cursor/ 目录下。

在此之前,我们的一般实践可能记录在README.md文件中,比如:

./ └── docs/ ├── RAEDME-design.md ├── RAEDME-product.md

每次调整都及时更新这些README.md文件即可,和放在 .cursor/ 目录下实现的效果都是一样的。

8. 如果代码错误,就自己写。Cursor 从编辑中学习比从解释中学习更快。

我个人认为这一点和第五点有点类似。

有时候Cursor会在某个问题上反复打转,这时候建议自己动手去做一些代码调整,你的编码内容会成为Cursor自我学习的上下文(相当于成为一种示例),这样Cursor会更清楚自己接下来要做什么。

不过这一点对于零编程基础的用户来说,会比较难。

所以我之前在文章评论区和知识星球都反复提到一个观点,你想在AI编程上走得远,最好懂一点代码知识。你不需要先掌握某种编程语言再入门AI编程,而是在学习AI编程的过程中,在一个个具体的开发场景中,去补齐自己的编程知识。

之前有小报童用户问我,

“提了个问题后AI输出一半时发现思路跑歪了,这时候要不要stop并继续追加对话?还是不用stop直接进行新的提问?还是stop并重新编辑这个问题进行提问?”

我当时的回答是,“可以继续让它跑下去,根据它的回答再二次追问,调整。”


如何学习使用cursor?

在我看来,我们和Cursor(或任何一个AI)的每一次对话其实都是有用的,无论这次对话 Cursor 给到的回答是否满意。

满意固然很好,不满意的话至少我们知道自己不满意的点在哪,这样下次对话就有了调整的方向。所有的聊天历史,都可以成为我们优化提示词的上下文。

10. 有意选择模型。Gemini 用于精确,Claude 用于广度。

我之前分享过一篇文章【经验分享】你在AI编程中可能会犯的9个错误,其中有一个常见使用误区,就是用 1 个 AI 模型解决所有事情

与之相对的,正确的使用方法,应该是根据不同场景使用不同的模型。当然,每个人的编码体验可能有所差别:

在@Cj Z看来:在Cursor/Windsurf:

  • 使用 Claude sonnet 3.5 进行编码(是的,对于执行代码来说,它比 3.7 更好。)
  • 使用 GPT o1/o3-mini-high 调试复杂错误。
  • 使用 Gemini Flash 2.0 扫描整个代码库并更新文档。

在@Ryo Lu看来:模型是独一无二的,就像人类一样,在 Cursor 中感受它们:

  • ‍ Gemini 2.5:高级软件工程师 1,需要推动
  • ‍ Claude 3.7:过度思考者,热衷于使用工具,需要驯服
  • ‍ Claude 3.5:全能高手,依然如此
  • ‍ GPT-4.1 / o3:开始意识到编程不仅仅是关于基准测试

我之前也在知识星球分享过类似的观点,Claude 3.7 thinking适合做规划,Claude 3.7因为喜欢“画蛇添足”所以适合脑补最佳实践的场景,Claude 3.5能比较好遵循指令。

至于Gemini 2.5,它现在是我用Claude解决不了难题时一定会去使用的模型,一个被大家低估的编程模型。


如何学习使用cursor?

11. 在新的或不熟悉的技术栈中,粘贴文档链接。让 Cursor 逐行解释所有错误和修复。

要是放在以前,对于新的或不熟悉的技术栈,粘贴文档链接确实是个不错的方法,它其实就是使用@Web 的联网功能,去读取相应的文档链接。

怎么获取这些最新的文档链接呢?可以考虑大家可以考虑使用 Context7。

context7.com/


如何学习使用cursor?

你可以在context7上获取最新文档链接,然后粘贴到Cursor进行中代码修复。


如何学习使用cursor?

当然,你也可以使用 Context7 MCP,让Cursor直接调用最新的文档,进而降低幻觉。


如何学习使用cursor?

github.com/upstash/cont

它的使用方法也很简单,就是在成功安装 Context7 MCP后,每次在对话中后加入 “使用 context7”(或类似的表达,如“使用 context7 获取文档”)即可:

新的 Next.js after() 函数是如何工作的?使用 context7

12. 让大型项目整夜索引,并限制上下文范围以保持性能敏捷。

Cursor有个 Codebase Indexing(代码库索引)功能。

索引是一个耗时且资源密集的过程,在处理大型项目时(如包含大量文件、数据或内容的系统)可能需要数小时甚至更久。在夜间运行索引任务,是因为夜间系统负载较低,用户活动较少,计算资源更充足,可以避免影响白天的工作效率。


如何学习使用cursor?

在【Codebase Indexing】这里,是可以设置 Ignore files 的,这样 Cursor 在索引项目代码时就会忽略这些问题,这就是前面提到的通过限制上下文范围,减少计算资源的消耗,进而降低内存和 CPU 的使用,从而提高索引或查询的速度。

Ryo Lu 最后提到,“结构和控制是胜利之道(目前如此)。将 Cursor 代理视为一位强大的初级员工——如果你指明方向,它能够快速走得很远。”

Cursor 12 种正确用法的介绍和实践解读就到这里了,希望对大家有启发。

大家好,我是专注AI编程的杰一。

想必大家在使用Cursor的时候,都会遇到AI乱改代码的情况。和Cursor对线了十几条消息,改来改去也还是不满意,生成的代码还没有手写的好。

这其实是因为你还没掌握一项关键功能 —— Cursor Rules

这篇文章将带你从0开始了解Cursor Rules,并提供多个实战场景和最佳实践,读完后你将学会:

  • 如何配置规则来让Cursor更好的生成代码
  • 如何让它写出符合你风格和结构的代码
  • 如何将项目规范自动化,减少团队沟通成本

Cursor Rules,中文翻译过来是 Cursor 规则。意思很好理解,就是给Cursor制定一系列规则,约束AI生成的代码。

当一条规则被触发后,规则中的内容会被附加到提示词中,为 AI 提供参考,无论是在自动补全、代码生成、重构还是错误修复时都能遵循这些规范。

首先打开Cursor,点击File - Preferences - Cursor Settings 进入Cursor设置页面,然后点击 Rules就能看到规则页面了


如何学习使用cursor?

在 Cursor 当中,支持两种级别的规则:

  • 全局规则(User Rules):针对所有项目通用的规则
  • 项目规则(Project Rules):存放于项目目录下的 .cursor/rules 中,只用于约束当前项目。

当我们点击 Add New Rule后,先输入规则的名称,比如命名为:vue-rules,约束AI在编写Vue项目的规范。也可以通过快捷键 Cmd + Shift + P ,输入 New Cursor Rule 来快速打开下面的对话框。


如何学习使用cursor?

添加成功后,在左边的资源管理器中能看到.cursor\rules目录下多了个 vue-rules.mdc,我们编写的规则就存放在这个文件里面。右侧的编辑区也会自动打开这个文件,可以通过图形化的方式进行编辑。


如何学习使用cursor?

Cursor 支持四种规则类型:

  • Always:始终应用规则
  • Auto Attached:当匹配 globs 模式的文件被引用时自动附加规则
  • Agent Requested:根据 AI 代理的判断决定是否应用规则,需要提供规则说明
  • Manual:仅在提示中显式使用 @规则名 时附加规则。

简而言之,如果你想手动调用规则,用 Manual;想自动触发用 Auto Attached;想始终生效用 Always;想让 AI 自己决定是否用,就用 Agent Requested

此外,在规则文件中,也可以使用@来添加文件,文件中的内容会作为额外上下文添加到规则文件中。


如何学习使用cursor?

那 Cursor Rules 到底能做什么?其实场景非常丰富,比如你想让它:

  • 自动补全一段你懒得写的重复代码
  • 根据你定下的模板来生成组件结构
  • 重构一堆你不想手动改的 legacy code

这些通过Cursor Rules都能搞定。下面给出一些示例规则,说明它们的用途:

  • 整体代码风格约束: 定义通用编码规范,如使用 TypeScript、遵循《代码整洁之道》、优先使用 async/await、完善错误处理等。例如:
- 所有新代码使用 TypeScript - 遵循《代码整洁之道》 - 优先使用 async/await 而不是回调 - 编写完善的错误处理


如何学习使用cursor?
  • 特定文件规范: 针对具体项目设定规范。例如在一个 React 项目中,可添加如下规则:
 # 文件模式: *.tsx, *.ts React 规范 - 使用函数组件 - 实现完整的 prop 类型 - 遵循 React 最佳实践 样式 - 使用 Tailwind CSS - 遵循团队样式指南 @file ../tsconfig.json @file ../tailwind.config.js


如何学习使用cursor?

该规则指定了作用于 *.tsx/*.ts 文件的项目规范(使用函数组件、类型检查、Tailwind 样式等),并通过 @file 引用了配置文件,向 AI 提供了项目的附加上下文。

  • 模板和样板: 可以定义代码模板规则来自动生成或检查特定结构。例如,为 Express 服务定义模板规则:
* 使用此模板创建新的 Express 服务: * 遵循 RESTful 原则 * 包含错误处理中间件 * 设置适当的日志记录 @express-service-template.ts


如何学习使用cursor?

当你在项目中创建新服务时,AI 会参考此规则提示,以生成符合规范的样板代码。同理,可为 React 组件定义规则:

 * React 组件应遵循如下结构: * Props 接口放在文件顶部 * 组件作为命名导出 * 将样式放在文件底部 @component-template.tsx


如何学习使用cursor?

这样 AI 在生成新组件时会保持统一的布局。

  • 错误修复与重构: 有开发者分享了用于修复错误的规则,例如创建一个名为 refresh.md 的规则,在遇到复杂错误时提示 AI 重新扫描全部相关文件并彻底修复。类似地,可以为重构需求定义规则,让 AI 按指定模式重写代码。使用规则可以让 AI 更智能地应对错误和重构场景,而不仅仅局限于当前文件。

除了Project Rules,你还可以添加User Rules,它们适用于所有项目,并始终包含在你的模型上下文中。你可以用它们来:

  • 设置回复的语言或语气
  • 添加个人风格偏好

比如:请用简洁的风格回复,避免不必要的重复或赘述。


如何学习使用cursor?

总的讲来,Cursor 规则可以为各种需求定制指导,无论是创建新功能、重构现有代码还是修复缺陷,都能通过明确的规则让AI生成更精准的代码。

你可以在 .cursor/rules 目录嵌套地组织规则。例如:

project/ .cursor/rules/ # Project-wide rules backend/ server/ .cursor/rules/ # Backend-specific rules frontend/ .cursor/rules/ # Frontend-specific rules 

嵌套规则的特点:

  • 当引用其目录中的文件时会自动附加
  • 仍可在上下文选择器和代理可访问的规则列表中使用
  • 非常适合将领域特定规则组织得更靠近相关代码

这在单一代码库或具有不同组件且需要特定指导的项目中尤为有用。

你可以在对话中直接使用 /Generate Cursor Rules 命令来生成规则。

Cursor会自动阅读代码,总结代码规范、项目需求,然后将它总结成Rules。这对于已有的项目非常有用,可以让AI生成的代码和现有项目风格更统一。


如何学习使用cursor?

Cursor会自动创建mdc文件,并把归责内容填写进去


如何学习使用cursor?

目前版本的Cursor将规则存放在多个不同路径的mdc文件中,并根据匹配规则选择性使用。但在早期版本的Cursor里,全部规则都存放在项目根目录下的 .cursorrules 文件,会附加到所有对话中。

根据官网文档,项目根目录下的 .cursorrules 文件仍然被支持,但将会被废弃。官方也建议迁移到mdc格式,以获得更好的控制、灵活性和可见性。

要充分发挥 Cursor 规则的效果,需要编写简洁、明确的规则并在 Prompt 中正确调用。以下是一些实践建议:

  • 规则简洁具体: 保持规则简洁,控制在 500 行以内是一个不错的目标
  • 拆分复杂概念: 将复杂的概念拆分为多个可组合的小规则
  • 使用示例与代码片段: 在有帮助的情况下提供具体示例或引用的文件
  • 在提示中引用规则: 当需要时,可以在聊天提示中使用 @规则名 来手动应用特定规则。
  • 尽可能清晰: 避免模糊的指导。编写规则的方式应像写一份清晰的内部文档
  • 及时更新: 当你发现自己在对话中重复强调某个事情时,可以将其编写成一条规则
  • 团队协作: 团队内共享同一份规则,定期与团队讨论和更新,确保它们与当前代码实践保持一致。

通过以上实践,将规则编写与清晰的提示指令结合使用,Cursor AI 就能更智能地理解上下文和需求,从而产生高质量的代码结果。

为什么我的规则没有被应用?

检查规则类型。对于“Agent Requested”(代理请求)规则,确保已定义描述。对于“Auto Attached”(自动附加)规则,确保文件匹配模式与被引用的文件匹配。

规则可以引用其他规则或文件吗?

可以。你可以使用 @filename.ts 将文件包含到规则的上下文中。

我可以从聊天中创建规则吗?

可以。请让 AI “把这段内容变成规则” 或 “根据这个提示创建一个可复用的规则”。

规则会影响 Cursor Tab 或其他 AI 功能吗?

不会。规则仅应用于代理(Agent)和 Cmd-K AI 模型。

通过 Cursor 规则能够自动化重复任务、统一代码风格、提前捕获常见错误并加速新人上手。

有些人觉得AI编程写的代码不好,其实就是因为没有定好规则。结合精心设计的规则与明确的 Prompt,开发者可以将 Cursor 打造成高效的协作编程助手,大幅提高开发效率和代码质量。

Cursor 0.46 版本又双叒升级了!这次主打 Claude 3.7 + MCP 两大重磅更新。
本来 0.44 用得挺顺手,但面对这么大的新功能,还是忍不住第一时间冲了!到底体验如何?继续往下看!

claude3.7到底提升了多少?


如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?

如何学习使用cursor?
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/236374.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月16日 下午12:41
下一篇 2026年3月16日 下午12:42


相关推荐

关注全栈程序员社区公众号