支持私有化部署
AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


Cursor 说明书(1.0): 小白入门指南

发布日期:2025-06-17 11:47:57 浏览次数: 1538
作者:赛博程序员赵师傅

微信搜一搜,关注“赛博程序员赵师傅”

推荐语

Cursor 1.0入门圣经:从零开始掌握AI编程神器,告别传统开发方式。

核心内容:
1. Cursor 1.0的核心优势与VSCode的本质区别
2. AI Copilot式编程如何提升开发效率与全栈能力
3. 手把手实战教程与长期更新计划

杨芳贤
53A创始人/腾讯云(TVP)最具价值专家

 

Cursor 说明书(0604-v1.0版本): 小白入门指南

大多数人拿到一个新的数码产品时候,第一时间都是丢了说明书的,其实说明书是可以极大的节约你的时间的小册子。虽然它很难看,但是都是精华,我也想打造一本关于 Cursor 的精华书籍供大家学习和了解。

⚠ 长文警告: 本文有几十张图片、几万字,你真的想深入学习了解上手 Cursor,再继续。
⚠ 本文针对的是 2025 年6月4日发布的 Cursor 1.0 版本,如有偏差可以检查版本和查看官方文档。

⚠️ 郑重警告: 全平台仅发布公众号,不允许任何形式转载、洗稿

本文是集合了我自己本人(平台ID:赛博程序语言赵师傅)最近几个月自媒体体验过程中很多人私信和评论最多的一些问题的共性思考出发,希望可以在 Cursor 官方文档[1] - 巨人的肩膀上,为更多人打造一份中文版的小白入门教程,帮助你真正的能够在时代的浪潮中,有机会拿到一张船票。我也相信,编程是接下来十年里面,大多数人都应该会具备的能力,真正能够提高自身效率才会在时代和地区的竞争压力中保全自身拥有选择的自由。

目前彻底从 Goland/PyCharm/VSCode 转向 Cursor[2] 已经3个月了,这3个月里 Cursor 已经完成多个版本进化,直到6月5日发布了官方的 1.0 版本[3]。强大的AI Copliot式的编程方式,极大的改变了我的日常开发效率,还帮助我开始转型为全栈开发,并且开始做了一些小工具帮助我盈利和拓展尝试数字游民生活(生活压力还是很大,这是我为理想生活方式奋斗的一段路程)。


接下来,我们开始花几个小时深度阅读,反复实践这篇教程,希望对你熟悉这个软件有帮助(我相信本篇教程可以击败大多数割韭菜的付费课程,后续我还会尝试去出长视频辅助理解)。而且真的就是一本说明书,随着时间我会尽可能定期更新版本,方便大家参考和使用。

1.什么是 Cursor

Cursor 本质上是基于 VSCode 的开源IDE进行 fork 后的闭源商业版本代码编辑器,官方对于这个 IDE 除了进行各种深度定制开发以外,还基于各种用户行为数据和大模型的训练,打造了一体化的编程体验,编程将从传统代码转变为自然语言或伪代码,使非编码人员也能进行软件开发,同时为专业人士保留操纵能力。

Cursor 编辑界面一览:

cursor-1

为什么 Cursor 不是一个 VSCode的扩展?Cursor 背后的公司 Anysphere 联合创始人&CEO - Michael Truell在一档播客节目中 YTB-The rise of Cursor[4] 深度解释了这个动作背后的思考。本质上是希望能够深度优化改造编程的体验,方便没有专业开发经验的人也能进行一定程度的软件开发。

Cursor 本身作为独立软件,可以 UI 进行深度定制和改造,方便集成AI能力。同时本身还是具备利用 VSCode 生态能力,你可以很方便的从 VSCode 迁移你之前的开发配置(Settings)、扩展(Extensions)、主题(Themes)和快捷键设置(KeyBindings)

Cursor目前主要提供功能:

  • • Cursor Chat(Agent/Ask/Manual) - 自然语言对话式编写代码、沟通提问、整理总结文档的编程代理功能
  • • Cursor Tab - 强大的AI自动代码补全功能
  • • Cursor Inline Edit - 直接在编辑器窗口中生成新代码或编辑现有代码
  • • Background Agents(Beta): 生成异步代理,可以在远程环境中编辑和运行你的代码

1.1 如何下载开始使用

可以从 Cursor 网站[5]下载适用于你选择的平台的 Cursor,点击这里可以查看中文版本下的最新平台支持软件列表 - Cursor下载[6]

下载安装就按住不表,按照软件指引即可完成。

如果你之前有 VSCode,可以选择一键导入 VS Code 扩展和设置,并且官方提供了14天的 Pro 免费试用。遇到问题可以优先查看官方文档[7]

下载安装好后,开始设置,基本上按照官方指引做就行

IDE 安装好后,可以打开设置页去绑定一下自己的账号,还可以体验试用一下 PRO(记得关掉自动续费)

cursor0

1.2 账号后台使用

可以通过上图的 [ManageAccount] 访问,也可以通过地址 Cursor Dashbord[8] 进入(必须登录账号哈,这个你应该会)

打开之后后台长这样,我把说明都备注清楚了

Overview 界面:

cursor0-1

Usage 界面[9]: 查看你的模型使用记录情况

cursor0-2

Billing&Invoices[10]: 订阅管理、账单管理

很多人付费了,结果不知道怎么取消订阅,看这张图就行

cursor0-3

1.3 FAQ - 常见问题

Q: Cursor 支持哪些编程语言?

Cursor 适用于任何编程语言,考虑到大模型训练语料,肯定是在流行度较高的语言下面拥有更好的体验。例如 Javascript/TS、Python、HTML&CSS、C++/C、Java、Go、Ruby、PHP 等(一个相对客观的是 tiobe-index[11])

Q: Cursor 怎么让 AI 模型和最新的框架文件保持同步?

利用了强大的基础模型,如 Claude 3.5 和 GPT-4 训练时都是参考了最新的一些 library,相对来说很多库都会保持稳定,使用最新的模型可以一定程度缓解这个问题。另外一种方式是利用 @web 搜索方式,跟AI对话时,告诉他使用最新的库进行开发。

Q: Cursor 怎么在多个仓库里面共享上下文?

目前,最简单的方法是将相关存储库放在同一目录中,然后从那里启动 Cursor。另外这需要官方更多的努力和改进

2.Settings - 设置

了解设置以后,遇到一些问题也会有官方的设置开关来提升你的体验,因此先让大家了解一些设置,避免后面学习时候缺乏上下文,也会帮助你更好的上手和开启一些非常有用的开关。

2.1 Settings - General

通用设置,基本上已经涵盖了大多数你需要知道的。因为基于 VSCode,因此有2个 Settings(大多数人会因此迷糊)
不过没关系,你可以后续专门学习 VSCode Settings,我们这里专门了解 Cursor Settings。

(Windows 用户一律把 ⌘ 换成 win 键)

  • • ⌘ + Shift + P 输入 VS Code Setting 打开的是 VSCode Settings(不展开聊)
  • • ⌘ + Shift + P 输入 Cursor Settings 打开的是 Cursor Settings

还有种小白方式,看下下图的步骤1,点击即可!

cursor5

重点讲下:

  • • Manage Account: 点击后打开 Web 页面登录进入 Dashboard 页面。关联你的账号
  • • Import Settings from VS Code: 官方文档有更多方式迁移[12]
  • • Privacy Mode: 如果你需要使用 Background Agents,必须关闭隐私设置,然后设置为 Disabled(Data shared with Cursor)

One-click Import 一键导入

  • • 打开设置 ( ⌘ / Ctrl + Shift + J )
  • • 导航到 General > Account(常规 > 帐户)
  • • 在“VS Code Import(VS Code 导入)”下,单击“导入”按钮

从 VS Code 同步这些:

  • • Extensions 扩展
  • • Themes 主题
  • • Settings 设置
  • • Keybindings 键绑定

2.2 Settings - Chat 对话设置

Chat 设置基本上就是 ⌘ + L 打开的 New Chat 的全部设置,涉及各类你跟 AI 对话过程的体验细节,强烈建议参考图片设置一遍。

Default Mode: 建议设置为 Agent,其实 ASK 和以前的 Composer 模式都被这个模式能力覆盖了,最好用的模式。

Context 设置: 上下文是AI帮助你提供最聪明的体验过程的核心要素,设置不对,你就会喷AI怎么这么蠢。强烈建议开这几个选项:

  • • Include Full-Folder Context: 你的仓库不大,开吧,体验就是不一样。
  • • Include Project Structure: 必开,否则经常写代码放错位置,然后改半天浪费你时间。
  • • Web Search Tool: 必开,现在Agent 开发时候遇到不确定的库使用报错问题,会自主去搜索文档参考,还是非常好用
cursor6-1

Auto-Run: Agent 模式自主使用 MCP Tools 、修改代码、命令行执行关键设置,小心!

  • • Auto-Run Mode: 如果你是赌狗,开吧;其实就是以前的 YoLo 模式,确实不用一直点 Accept,舒服一点。不过你注意 Git 保存好改动,别输得倾家荡产。。。
  • • Command AllowList/DenyList: 开启自动以后,必须设置。如果你不是娱乐一下,有些命令还是避免使用和防止第三方库的攻击行为,例如 rm -rf *
  • • File-Deletion Protection: 目前 Cursor 有个很严重 bug 没有修复,就是文件删除以后,点击 restore checkpoint 经常是恢复不了的,必须开启,自己手动删一下吧。
  • • MCP tools Protection: 目前 MCP 良莠不齐,安全起见,开始你信任的工具吧
  • • .File Protection: 读取和修改 .env 之类的文件有点过于敏感了,别让 AI 改。
  • • External-File Protection: 也是要开的,别莫名其妙的删了工作区以外的重要文件。
cursor6-2

2.3 Settings - tab 补全设置

Tab 就是编辑代码文件时候的一些辅助能力,参考默认的配置即可,注意有个 Auto Import for python 开一下,确实有点 Pycharm 的感觉了,很爽。

cursor7

2.4 Settings - models 模型设置

模型设置,主要是影响对话界面,看你的需求和想使用的进行开启模型即可

注意: MAX Mode,哪怕是你付了 Pro 的钱,也需要额外按使用量付费,你不想额外掏钱就关闭。不过因为 Max Mode 模型的上下文都更大,AI 生成的代码准确度更高,更聪明。(因此你得额外掏钱)

Auto 切换目前还是坨?,我是不会开启的,开了会员就可以用最好的。

cursor8-1

在AI输入框下方,有一个下拉菜单,可让选择可以使用的模型。如果有最新的模型没有出现在下拉列表,一般可以在这里找到并开启。

cursor0-4

如果你已经买了 OpenAI/AnthropicAI 等会员,希望使用自己的 API key,来节约一笔 Pro 费用,可以考虑拿到 API key 后放到这里设置,这样你仍然可以使用绝大部分的 Pro 能力。即 BYOK 模式

另外有一些坑: OpenAI 的推理模型(o1、o1-mini、o3-mini)需要特殊配置,目前不支持自定义 API 密钥。

支持的平台有:

  • • OpenAI 兼容平台(OpenAI、DeepSeek、Openrouter、火山引擎、阿里云模型等)
  • • AnthropicAI - Claude 系列
  • • Azure 平台
  • • AWS bedrock
cursor8-2

2.5 Settings - rules 规则设置

可以使用全局和特定于项目的规则自定义AI行为。规则允许你为 Agent 和 Cmd-K AI 提供系统级指导。将它们视为为你的项目或你自己编码上下文、首选项或工作流程的持久方式。

规则相关后面有专门的章节展开,这里按住不表,会有最佳实践告知,你需要知道怎么配置的入口即可。

cursor9-1

Cursor 支持的规则类型有这些

特别提醒一下,很多自媒体完全不跟最新的技术,还在鼓吹 .cursorrules,实在是害人不浅,建议大家都迁移到最新的 Project Rules。

这里有个示意图告诉你大概配置的文件位置和入口。

cursor9-7

2.7 Settings - Indexing&Doc 索引&文档设置

Cursor 会计算代码库中的每个文件的嵌入向量,并将使用这些嵌入向量来提高代码库答案的准确性,从而获得更好、更准确的代码库开发体验。

索引相关设置,参考图片,使用默认的即可。

你核心使用的库添加到文档里面,可以帮助AI使用最准确的文档,减少幻觉。Cursor 将自动使 Docs 保持索引,并定期重新索引它们,以使其在编辑或更改时保持最新状态。

cursor10-1

2.8 Settings - Background Agents 后台工作代理设置

你必须关闭 Privacy Mode,才能开启使用。这个其实就是在 AI 对话里面启动一个 Background Agent 时候开启的设置,你需要按照指引走完,才能使用。

cursor11
这样才有 Background 功能,并且发布任务。

2.9 Settings - MCP Tools

使用 Model Context Protocol (MCP) 插件系统将外部工具和数据源连接到 Cursor,手动添加可以参考下图

cursor12-1

Cursor 提供了 One-Click Installation 一键安装,参考列表 Cursor MCP tools[13]

2.9 Settings - Network 网络设置

网络设置没啥特别的,默认即可

cursor13

2.10 Settings - Beta 设置

Beta 就是当小白鼠,尝鲜使用最新的功能,如果你比较感兴趣,可以尝试把 Update Access 改成 EarlyAccess。
如果你是工作使用,建议还是稳妥一点,使用默认即可。

cursor14

3.Editor - Chat AI 对话

Chat - 自然语言界面,用于在聊天模式下通过上下文 AI 帮助探索、编辑和管理代码

Chat(以前称为“Composer”)是 Cursor 的 AI 助手,在侧边栏中,可让你通过自然语言与代码库进行交互。你可以提出问题、请求代码编辑、获取终端命令建议等 - 所有这些都无需切换上下文。

如何开始呢,为啥我的界面上没有啊。。。别慌,我带你搞出来

使用 ⌘+L (Mac) 或 Ctrl+L (Windows/Linux) 访问侧边栏中的聊天。用自然语言输入你的请求,AI 将做出相应的响应。

核心能力有这些

我可以用 Chat 做什么?

  • • 开发需求: 能够了解你的代码库并代表你对其进行更改。这是实现新功能的强大方法,也是功能请求的完美工具。只需使用代理模式-Agent 解释你希望它实现的功能。Chat 将查看你的代码库和任何相关文件,并建议对这些字段进行任何必要的更改。除了代码修改之外,Chat 还可能会建议其他更改,例如添加新文件或使用程序包管理器添加程序包。
  • • 重构代码: 通过深入了解代码库以及每个组件如何组合在一起,Chat 可以帮助重构代码库。你需要分析代码库的当前结构,以及想要进行的更改。代理可以读取相关代码、规划其更改并实施它们,使重构和项目重组变得简单。
  • • 启动新项目: 非常擅长开启新的项目,想要构建什么样的项目,并解释对所需技术堆栈的任何具体要求,代理将开始工作,创建项目结构,安装依赖项,甚至编写初始代码,然后尽快启动!

针对特定任务优化的不同模式:

使用模式选择器或 ⌘. 快捷方式在模式之间切换

Context 上下文

Chat 通过分析以下内容来理解你的代码库,会根据你的查询建议相关上下文,从而确保准确响应。

  1. 1. 打开的文件 :你当前正在查看的内容
  2. 2. @-symbols:使用 @-symbols 引用特定的代码元素
  3. 3. 项目结构 :文件和依赖项的组织

代码编辑体验

当 Chat 建议更改代码时:

  1. 1. Review: 在差异视图中查看建议的更改
  2. 2. Apply: 在“询问”模式下,使用“应用”按钮显式应用更改
  3. 3. Accept/Reject: 接受/拒绝 :进行更改后,决定是保留还是放弃更改

使用 Chat 时,可以一次运行多个对话,并使用 Tab 在它们之间切换。只需按 ⌘+T (Mac) 或 Ctrl+T (Windows/Linux) 创建一个新选项卡。与聊天历史记录不同,选项卡可以并行执行,并且不依赖于之前的请求。

Cursor 将智能地跟踪所有同时进行的对话,并允许随时在它们之间切换,同时确保多个选项卡不会尝试一次更改相同的文件。

Checkpointers 检查点

有时,你可能希望恢复到代码库的先前状态。Cursor 通过在你发出的每个请求以及每次 AI 更改代码库时自动创建代码库的检查点来帮助解决这个问题。(某种程度上可以,但是你完成一个需求最好还是用 Git 管理)

要恢复到以前的状态,可以:

  1. 1. 单击上一个请求的输入框中显示的 Restore Checkpoint 按钮,如下所示
  2. 2. 单击悬停时在聊天历史记录中消息左侧显示的 + 按钮

Model 模型选择

默认情况下,Cursor 有一个“自动选择-Auto”选项,将不太智能地为你的请求选择最佳高级型号。这将始终按原样使用 1 个高级请求,除非启用了某些设置来增加此请求,例如长上下文模式。(建议还是指定模型,不至于太蠢。。。)

History&Cost 历史

聊天历史记录已移至命令面板。你可以通过 Chat 中的 “Show history” 按钮以及运行命令面板中的 “Show Chat History” 命令来访问它。对于采用基于使用量的定价的模型,请单击历史记录图标查看成本明细。

Code Review 代码审查

通过每个对话结束时的内置差异视图,查看代理代码变得更加简单。可以通过单击对话结束时的 Review changes 按钮来访问它。

对话比较久,当接近上下文窗口限制时,Chat 建议参考当前对话开始新的对话。

Exporting Chats 导出聊天

通过将对话导出为 markdown 格式,可以分享给其他人。导出内容包括:

  • • 所有对话文本
  • • 代码块和代码片段
  • • 讨论的完整背景

Duplicating Chats 复制聊天

复制聊天以分支对话并探索替代方法,同时保留原始对话过程:

  • • 导航到对话中的任何消息
  • • 点击三点菜单
  • • 从指定的对话作为起点,开始新聊天

3.1 Chat - Agent Mode 代理模式

Agent 模式(以前的 Composer 模式升级版),使用完整的工具独立探索、规划和执行复杂的代码库更改。Agent 是 Cursor 中的默认且最自主的模式,旨在以最少的指导处理复杂的编码任务。它启用了所有工具 ,可以自主探索代码库、阅读文档、浏览 Web、编辑文件和运行终端命令以高效完成任务。

一句话,你可以默认使用这个,其他模式等你是大神了再去使用

核心能力如下

工作流程

与人类非常相似,代理模式遵循系统的方法来完成任务:

  1. 1. 了解请求: 代理模式会分析你的请求、聊天记录和代码库的上下文,以完全理解任务要求和目标。
  2. 2. 探索代码库: 代理可以搜索代码库、文档和 Web 以识别相关文件并了解当前实现。
  3. 3. 计划更改: 根据分析,代理将任务分解为较小的步骤并规划更改,并在进行过程中从可用的上下文中学习。
  4. 4. 执行更改: 代理会根据整个代码库中的计划进行必要的代码修改,还可能会建议新的库、要运行的终端命令或你应该在 Cursor 之外执行的步骤。
  5. 5. 验证结果: 代理将确认更改在通过应用更改后看起来正确。如果它发现任何问题或 linter 错误(如果语言支持),它将尝试修复它们。
  6. 6. 任务完成: 一旦代理满意,它就会让步并总结它所做的更改。(你需要检查代码,你不一定会满意。。。。)

3.2 Chat - Ask 模式

Ask 模式允许你通过 AI 搜索和查询来探索和了解代码库,而无需进行更改(你不写代码,也不需要改代码,纯尬聊)

Ask 是 Chat 的 “只读” 模式,用于提出问题、探索和了解代码库。它是 Cursor 中的一种内置模式,默认启用搜索工具 。

与其他模式的区别

Ask 是其他默认模式(Agent 和 Manual)所独有的,因为它默认不应用任何建议的更改 - 这使它成为一种 “只读” 模式,具有读取文件和其他上下文的完整能力,但不能自行进行任何更改。

这对于你去了解可能不想更改的代码库或在实施之前使用 AI 规划解决方案非常有用!

3.3 Chat - Manual Mode 手动模式

Manual Mode - 手动模式,使用明确的文件目标进行精确的代码更改 - 具有用户控制工具的集中编辑模式。(你如果是编程专家,我建议你用这个模式,会非常聚焦你想改的代码文件)

手动模式用于在你确切知道需要更改的内容和位置时进行有针对性的代码修改。

与 Agent 模式不同,它不探索代码库或运行终端命令;它完全取决于你的具体说明和你提供的上下文(例如,通过 @-mentioning 文件)。

功能列表:

手动模式允许使用更精确和有针对性的代码编辑方法。它旨在在你确切知道需要更改的内容和位置时进行有针对性的代码修改。要使用手动模式,你需要使用 @ 符号明确提及要编辑的文件。

工作流程

与人类非常相似,代理模式遵循系统的方法来完成任务:

  1. 1. 了解请求: 像往常在聊天中一样创建你的请求。
  2. 2. 探索代码库: 通过使用 @ 符号提及要编辑的文件,为你的请求添加上下文。
  3. 3. 计划更改: 申请后,你可以查看更改。如果配置了 Linter,手动模式可能会标记潜在问题。
  4. 4. 执行更改: 应用编辑后,任务将被视为完成。。

示例

3.4 Chat - Custom Modes 自定义模式

Custom Modes 自定义模式,使用适合你自己工作流程的工具和提示来编写新模式。这些是内置的 Agent、Ask 和 Manual 模式的补充。(你懂需要什么,不需要什么很重要!)

可以从 Cursor 设置里面 → 聊天 → 功能 → 自定义模式中启用自定义模式:

cursor0-5

要创建自定义模式,你可以打开 mode 菜单,然后单击 Add custom mode。从那里,你可以选择名称、图标、快捷方式以及启用的工具和自定义说明。

以使用工具和说明的任意组合来创建模式,但以下是一些可能会觉得有用的模式示例。

除了上述列表外,还有许多社区资源可用,其中包含对自定义模式的想法和建议,这些资源已被证明对其他用户有效。

点击访问: Modes[14]

3.5 Chat - Tools 工具

Cursor 的 Chat 模式中用于搜索、编辑代码库和与代码库交互的所有可用工具的列表可以看 Tools Page[15]

以下是 Chat 中模式可用的所有工具的列表。

  • • Search 搜索: 用于搜索你的代码库和 Web 以查找相关信息。
  • • Edit 编辑: 用于对文件和代码库进行特定编辑。
  • • Run: 能够与你的终端交互。
  • • MCP Servers: 可以利用配置的 MCP 服务器来与外部服务(例如数据库或第三方 API)进行交互。

3.6 Chat - Apply 应用代码

Cursor 的 Apply 允许你将聊天中的代码块建议快速集成到你的代码中。

Apply Code Blocks 应用代码块

要应用代码块建议,可以按每个聊天代码块右上角的播放按钮。这将编辑你的代码文件以合并 Chat 生成的代码。由于你可以在 Chat 中添加最多的上下文并与模型进行最多的来回交流,因此建议使用 Chat + Apply 进行更复杂的 AI 驱动的代码更改。

Accept or Reject 接受或拒绝

应用代码块后,你可以浏览差异并接受或拒绝更改。你也可以点击聊天代码块右上角的“接受”或“拒绝”按钮。

Ctrl/⌘ Enter 键接受,Ctrl/⌘ Backspace 键拒绝。

4.Editor - Tab

Tab 是官方使用 AI 直接在编辑器中建议多行编辑、代码修复和上下文感知补全。官方针对这个能力是训练了自己模型进行全方位的改进,比之前的 Github Copilot 好用很多倍,哪怕仅有这个功能,也是让 Pro 值 20 美金的。

Cursor Tab 由自定义模型提供支持,可以

  • • 围绕你的鼠标脚垫建议编辑,而不仅仅是插入其他代码。
  • • 一次修改多行,不是简单的补全一行。
  • • 根据你最近的更改和 linter 错误提出建议。
cursor-tab-demo

Multi-character edits 多字符编辑

Instruction-based edits 基于指令的编辑

Auto-import 自动导入 TypeScript 和 Python 项目中的模块:在 TypeScript 和 Python(测试版)项目中,Tab 可以自动从项目中的其他位置导入模块和函数,而无需手动键入 import 语句。

还可以在 “Go to Definition” 或 “Go to Type Definition” 速览视图中使用 Cursor Tab。例如,在向函数调用添加新参数时,这非常有用。

Cursor 还可以预测你在接受编辑后将转到何处。如果可用,你将能够按 Tab 键转到下一个位置,从而允许你通过 Tab-Tab-Tab 键进行编辑。

可以按 Tab 接受建议,要拒绝建议只需继续键入Esc拒绝。还可以在 Cursor Settings 中开启 Partial accepts,这就为Cursor Tab开启了部分接受,可以按 ⌘ → 一个词一个词的接受。

每次键入或光标移动,尝试根据最近的更改提出建议。但是Cursor 不总是会显示建议,有时模型会预测到没有需要进行的更改。Cursor在上下文窗口中记录了最近的更改历史记录,因此它知道你接下来要做什么。(你自己最好还是需要会写代码,不然很多时候你不打几个字是不知道要干嘛的)

如果你是写注释时候有点烦这个,你可以去 Cursor Settings > Tab Completion 把 “Trigger in comments” 取消即可

5.Editor - Inline Edit(文件内编辑)

Inline Edit 内联编辑 - (Cmd/Ctrl+K) 允许直接在编辑器窗口中生成新代码或编辑现有代码。

Prompt Bars 提示栏

在 Cursor 中,我们将按 Ctrl/Cmd K 时出现的栏称为“Prompt Bar”。它的工作原理类似于用于聊天的 AI 输入框,你可以在其中正常键入,或使用 @ 符号引用其他上下文。

Inline Generation 内联生成

如果在按 Ctrl/Cmd K 时未选择任何代码,Cursor 将根据你在提示栏中键入的提示生成新代码。

Inline Edits 内联编辑

对于选中一些代码进行编辑,然后在提示栏中键入即可。

Full File Edits 完整文件编辑

对于跨整个文件的更广泛更改,请使用 ⌘⇧⏎ (Cmd+Shift+Enter)。此模式允许你对文件范围进行全面的更改,同时保持对范围的精确控制。

Send to Agent

当你的更改可能会影响多个文件或你需要更高级的功能时,请使用 ⌘L 将你选择的代码发送到代理。这会将你的工作无缝过渡到聊天模式,可以在其中:

  • • 进行多文件更改
  • • 获取更详细的解释
  • • 访问高级功能

Default Context 默认上下文

默认情况下,除了你包含的手动 @ 符号之外,Cursor 还将尝试查找不同类型的有用信息来改进代码生成。其他上下文可能包括相关文件、最近查看的文件等。收集后,Cursor 按与编辑/生成的相关性对上下文项进行排名,并将排名靠前的项目保留在大型语言模型的上下文中。


Quick Question 快速问题

如果在提示栏中按 Option/Alt Enter,则 Cursor 将回答你关于选择和附加上下文的任何问题。

此对话的内容可以在后续生成中进一步使用,因此你只需在 Cursor 提出响应后键入“do it”即可在快速提问后生成代码。

Terminal Cmd K - 终端也可辅助

在 Cursor 终端中使用 Cmd K 通过提示栏界面生成和运行命令

在内置的 Cursor 终端中,你可以按 Ctrl/⌘ K 打开终端底部的提示栏。此提示栏允许你在终端中描述所需的作,终端 Cmd K 将生成一个命令。你可以通过按 esc 接受命令,也可以立即使用 Ctrl/⌘ + Enter 运行命令。

默认情况下,终端 Cmd K 会看到最近的终端历史记录、指令以及你作为上下文放入提示栏中的任何其他内容。

6.Models & Prices 模型和定价说明

模型信息以官网为准: models[16]

编程无脑冲 - Claude 4 Sonnet

Pricing 定价

所有模型使用量都在请求中计数和计费。Cursor 提供两种使用模式:

正常模型定价:

Max 模型定价:

Request 请求

请求表示发送到模型的单个消息,其中包括你的消息、代码库中的任何相关上下文以及模型的响应。

1 个请求为 0.04 USD

Free requests 免费请求

当你用完正常请求时,免费请求会自动激活。它们的处理优先级较低,因此与快速请求相比,你可以等待更长的时间,但它们仍然不会产生任何费用。

免费请求不适用于 Max 模式。

Normal mode 正常模式

在正常模式下,每条消息的请求数固定,具体取决于你使用的模型,而不管上下文如何。我们优化上下文管理,而不会影响请求计数。

举个例子:

Max 模式

在 Max 模式下 ,定价是根据 Token 计算的,Cursor 向模型提供商收取 API 价格加上 20% (暴利啊。。。)。这包括来自你的消息、代码文件、文件夹、工具调用以及提供给模型的任何其他上下文的所有令牌。

Token 不代表字符数,一般来说跟你的代码量正比,具体可以去谷歌

示例:

Thinking 推理

启用思考将模型列表限制为推理模型,这些模型逐步思考问题,并具有更深入的能力来检查自己的推理和纠正错误。这些模型通常在复杂的推理任务中表现更好,尽管它们可能需要更多时间来生成响应。

Agentic 代理

代理模型可以与 Chat 的代理模式一起使用。这些模型在进行工具调用方面非常强大,并且在使用 Agent 时性能最佳。

提交最多 25 个工具调用的 Agent 提示符会消耗一个请求。如果你的请求超过 25 个工具调用,Cursor 将询问你是否要继续,这将使用第二个请求。

Context windows 上下文窗口

上下文窗口是 LLM 一次可以考虑的标记(文本和代码)的最大范围,包括模型生成的输入提示和输出。
Cursor 中的每个聊天都维护自己的上下文窗口。会话中包含的提示、附件和响应越多,上下文窗口就越大。
Cursor 会随着聊天会话的进行主动优化上下文窗口,智能地修剪不必要的内容,同时保留关键代码和对话元素。

为了获得最佳结果,建议采用基于目的的聊天管理方法,为每个独特的任务启动一个新会话。

7.Context 上下文

上下文,是你为 AI 大模型提供更多信息,获得更准确的 AI 帮助和搜索结果

7.1 Codebase Indexing 代码库索引

要获得更好、更准确的代码库答案,可以为代码库编制索引。在背后,Cursor 会计算代码库中的每个文件的嵌入向量,并将使用这些嵌入向量来提高代码库答案的准确性。

打开项目时,每个 Cursor 实例都将初始化该工作区的索引。初始索引设置完成后,Cursor 将自动为添加到工作区的任何新文件编制索引,以使代码库上下文保持最新。

代码库索引的状态位于 “Cursor设置”下 > 功能 > 代码库索引 。

Cursor Settings > Indexing&Docs > Codebase

cursor10-1

默认情况下,Cursor 将索引代码库中的所有文件。

还可以展开 Show Settings (显示设置) 部分以访问更多高级选项。在这里,你可以决定是否要为新存储库启用自动索引,并配置 Cursor 在存储库索引期间将忽略的文件。

Cursor 使用与 VS Code 相同的包来处理文件忽略,这意味着它遵循所有 .gitignore 文件,包括子目录中的文件。你还可以为特定于用户的忽略模式创建一个 .cursorignore 文件,你可能希望将其添加到全局 .gitignore 中,以避免将其提交到存储库。

如果你的项目中有任何 AI 绝对不需要读取的大型内容文件, 则忽略这些文件可以提高答案的准确性。

在大型仓库或者单体仓库(monorepos) 使用的技巧

  • • 使用 .cursorignore 让每个开发人员配置他们在 monorepo 中处理的文件夹和路径
  • • 将 .cursorignore 添加到全局 .gitignore 中

这允许每个开发人员在 monorepo 中针对他们的特定工作区域优化索引。

在多个仓库共用的根目录时技巧

Cursor 支持允许你同时使用多个代码库。当同一工作区中跨多个项目工作:

  • • 添加到工作区的所有代码库都将自动编制索引
  • • 每个代码库的上下文将可供 Cursor 使用
  • • .cursor/rules 在你添加的所有文件夹中受支持
  • • 非常适合处理位于不同文件夹中的相关项目

当你需要在同一工作区中跨多个项目工作时,此功能特别有用,可确保所有代码上下文都可供 Cursor 使用。

对于 Pro 用户,最多可自动为 50,000 个文件编制索引。business 用户的默认限制更高,为 250,000 个自动索引文件。

7.2 Docs

添加和管理自定义文档作为上下文,例如像 NextJS 相关文档

Cursor 附带一组第三方文档,这些文档已爬取、索引并准备好用作上下文。可以使用 @Docs 符号访问它们。可以在此处[17]找到我们默认的预抓取文档列表。(推荐添加自己常用的文档)

添加自定义文档

如果要搜寻尚未提供的自定义文档并为其编制索引,可以通过 @Docs > 添加新文档来实现。粘贴所需文档的 URL 后,将显示以下模式:

然后 Cursor 将索引并学习文档,你将能够像任何其他文档一样将其用作上下文。如果要为所有子页面和子目录编制索引,请确保在 URL 中添加尾部斜杠

管理自定义文档

在Cursor设置 > Indexing&Docs > Docs 下,你将看到已添加的文档。你可以在此处编辑、删除或添加新文档。

7.3 Rules 规则

规则允许你为 Agent 和 Cmd-K AI 提供系统级指导。将它们视为为项目或你自己编码上下文、首选项或工作流程的持久方式。

支持三种类型的规则:

规则的工作原理

大型语言模型在完成之间不保留内存。规则通过在提示级别提供持久的、可重用的上下文来解决这个问题。

应用规则时,其内容将包含在模型上下文的开头。这为 AI 提供了一致的指导,无论是生成代码、解释编辑还是帮助工作流。

7.3.1 User Rules 用户全局规则

可以在Cursor Settings > General > Rules for AI下修改Rules for AI部分,以向Cursor添加自定义说明。

此自定义指令将包含在Cursor Chat和⌘ K等功能中。

用户规则不支持 MDC,它们只是纯文本。

cursor0-7

我最常用的是 RIPER5 规则,放到了公开仓库供大家使用 - RIPER5-Rules[18]

特点:

  • • 不会随便修改代码,会进行调研、分析、计划、执行、回顾各个模式供你使用,避免乱改代码
  • • 模式清晰,执行范围明确,稍微有点浪费请求,但是极其节约时间

7.3.2 Project rules 项目规则

项目规则位于 .cursor/rules 中。每个规则都存储为文件并受版本控制。可以使用路径模式确定其范围、手动调用或根据相关性包含它们。

使用项目规则可以:

  • • 对有关代码库的特定于领域的知识进行编码
  • • 自动执行特定于项目的工作流或模板
  • • 标准化样式或架构决策

规则类型

每个规则文件都以 MDC (.mdc) 编写,MDC是一种轻量级格式,支持在单个文件中存储元数据和内容。规则支持以下类型:

MDC 规则示例

触发规则时(文件后缀为 ts) ,@service-template.ts 等引用的文件将作为附加上下文包含在内。

---
description: RPC Service boilerplate
globs: *.ts
alwaysApply: false
---

- Use our internal RPC pattern when defining services
- Always use snake_case for service names.

@service-template.ts

Nested rules 嵌套规则

你可以通过将规则放在整个项目结构中的 .cursor/rules 目录中来组织规则。例如:

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

Nested rules are: 嵌套规则包括:

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

这在 monorepo 或具有不同组件的项目需要自己的特定指导时特别有用。

Creating a rule 创建规则

你可以使用 “New Cursor Rule”命令或转到 “Cursor 设置 > 规则 ”来创建规则。这将在 .cursor/rules 目录中创建一个新的规则文件。从 settings 中,你还可以看到所有规则及其状态的列表。

cursor9-7

Generating rules 生成规则

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

当进行过一次对话,其中就代理应该如何行为做出了许多决定时,这非常有用。只需生成规则并在将来重复使用即可。

最佳实践

好的规则是重点突出、可作且有范围的。

  • • 保持规则简洁。低于 500 线是一个不错的目标
  • • 将大型概念拆分为多个可组合规则
  • • 在有用时提供具体示例或参考文件
  • • 避免含糊不清的指导。像编写清晰的内部文档一样编写规则
  • • 当你发现自己在聊天中重复提示时重复使用规则


我收集了一些好用的 MDC 规则,还做了一个专门复制规则的软件供你使用,Github - cursor-mdc-work[19]

推荐一些: MDC 规则[20]

7.4.3 Memories - Beta

Memories 是根据你在 Chat 中的对话自动生成的规则。它们的范围限定为你的 git 存储库。Cursor正在努力扩大其范围并改进其运作方式。

可以从 Cursor Settings > Rules 中查看和删除 Memories。

启用隐私模式的用户目前无法使用 Memories

7.4.4 .cursorrules - 废弃啦

项目根目录中的 .cursorrules 文件仍受支持,但将被弃用。尽快迁移到 Project Rules 格式,以获得更多的控制力、灵活性和可见性。

.cursorrules 因为太大了,不利于维护,肯定是会被淘汰的。各种平台 Up 主在25年6月还在推荐这种做法的,你直接可以取关了,连最新的技术都跟不上,官方建议淘汰的时间都快半年了,你觉得他们推荐还是靠谱的吗??时代变化太快,如果你看的时候可能对不上,建议搜【赛博程序员赵师傅】,我各个平台会尽可能同步最新的版本出来

8. @ 符号功能

在 Cursor 中使用 @ 符号在聊天中引用代码、文件、文档和其他上下文。

在输入框中(例如在 Composer、Chat 和 Cmd K 中),你可以通过键入 @ 来使用 @ 符号。将出现一个带有建议列表的弹出菜单,它将自动过滤以仅显示基于你输入的最相关建议。

键盘快捷键

可以使用向上/向下箭头键浏览建议列表。你可以按 Enter 键选择建议。如果建议是一个类别,例如 Files (文件 ),则建议将被筛选为仅显示该类别中最相关的项目。

以下是所有可用 @ 符号的列表:

  • • @Files - 引用项目中的特定文件
  • • @Folders - 引用整个文件夹以获得更广泛的上下文
  • • @Code - 引用代码库中的特定代码片段或符号
  • • @Docs - 访问文档和指南
  • • @Git - 访问 git 历史记录和更改
  • • @Notepads - 访问记事本
  • • @Past 聊天 - 使用汇总的 Composer 会话
  • • @Cursor 规则 - 使用光标规则
  • • @Web - 参考外部 Web 资源和文档
  • • @Link (粘贴) - 创建指向特定代码或文档的链接
  • • @Recent 更改 - 创建指向特定代码或文档的链接
  • • @Lint 错误 - 引用 lint 错误(仅限 Chat)
  • • @Definitions - 查找符号定义(仅限 Cmd K)还有一些其他符号可以使用:
  • • #Files - 将文件添加到上下文中而不引用
  • • /Commands - 将打开的文件和活动文件添加到上下文中

8.1 @Files

在 Chat 和 Cmd K 等 AI 输入框中,你可以使用 @Files 引用整个文件。此外,如果你继续在 @ 后键入,你将在 @Code 策略之后看到你的文件搜索结果。

为了确保引用的文件是正确的文件,Cursor 将显示文件路径的预览。当在不同的文件夹中有多个同名文件时,这尤其有用。

聊天长文件引用

在 Cursor 的聊天中,如果文件的内容太长,Cursor 会将文件分块为较小的块,并根据与查询的相关性对它们进行重新排序。

Drag and Drop 拖放

可以将文件从主侧边栏拖放到 Chat 或 Cmd K 中,以将它们添加为上下文。

文件右击添加

8.2 @Folders

在 Chat 中引用文件夹作为上下文,以增强 AI 对话。使用 @Folders 引用 Cursor 中的文件夹时,根据你的设置,有两种不同的行为。

模式 1 - 文件夹引用

默认情况下,如果 @ 文件夹,AI 会获得该文件夹的路径,以便它知道该往哪里看。此外,Cursor 还为 AI 提供文件夹内容的概览,以帮助为其提供适当的上下文,以便适当地决定下一步作。

模式 2 - 完整文件夹内容

在 v0.50 中新增,现在可以启用“Full Folder Content”。启用此功能后,当你 @ 文件夹时,Cursor 将尝试在上下文中包含文件夹的全部内容,这意味着 AI 不必读取文件本身。

如何启用:要启用此功能,请在 Cursor 设置中切换 Full Folder Content 选项。

如何使用

在启用“完整文件夹内容”的情况下使用 @Folders 引用光标中的文件夹时,如果可能,所选文件夹中的所有文件都将包含在上下文中。与默认行为相比,这提供了更全面的上下文,默认行为仅提供文件夹路径和概述。

对于超过上下文窗口大小的较大文件夹,Cursor 将:

  • • 在上下文菜单中显示大纲视图
  • • 显示一个工具提示,指示包含的文件数
  • • 智能管理可用的上下文空间

该系统允许 Cursor 有效地处理任何大小的文件夹,同时保持对 AI 可用的上下文的了解。无论你是使用默认文件夹引用还是启用了完整文件夹内容功能(自 v0.50 起可用),Cursor 都会确保你拥有满足你需求的适当上下文级别。

局限性

如果你启用了 Max 模式,此功能可能会大大增加请求的成本,因为 Cursor 将尝试使用你正在使用的模型的完整上下文窗口包含文件夹的全部内容。这是因为添加到提示中的文件越多,这些文件消耗的输入令牌就越多,从而导致请求成本增加。

8.3 @Code

要引用代码的特定部分,你可以使用 @Code 符号。

代码预览

与 @Files 符号类似,Cursor 将显示代码内容的预览,以便你可以验证你引用的代码是否正确。

将代码片段添加为上下文的另一种方法是选择要引用的代码,然后单击“添加到聊天”(Ctrl/⌘ Shift L)或“添加到编辑”(Ctrl/⌘ Shift K)。

这些作会将所选代码片段添加到 Chat 输入框或当前活动的 Cmd K 提示栏。

要将所选代码添加到新聊天中,你可以按 Ctrl/⌘ L。

8.4 @Docs

在 Cursor 中使用、添加和管理自定义文档作为上下文

之前文字章节 7.2 介绍了如何管理、创建。不再赘述

8.5 @Git

使用与 Git 相关的符号来分析工作更改、比较分支和查看未提交的文件

@Commit

引用与上次提交相比的当前工作状态更改。这将显示尚未提交的所有已修改、已添加和已删除的文件。

@Branch

将当前分支的更改与 main 分支进行比较。这会显示分支中存在但不存在于 main 中的所有提交和更改,从而帮助你了解将要合并的内容。

8.6 @Web

Web 搜索能够在命令中动态添加最近的在线信息和文档作为上下文

借助 @Web,Cursor 会根据查询和你提供的上下文构建搜索查询,并在 Web 上搜索以查找相关信息作为附加上下文。

这对于允许 Cursor 在线查找最新信息或允许 Cursor 在几秒钟内抓取多个网站以找到最佳答案非常有用,而无需用户在任何地方手动搜索。

8.7 @Definitions

使用 @Definitions 符号将附近的代码定义添加到 Cmd K 上下文中

此功能目前仅适用于 Cmd K。

@Definitions 符号将附近的所有定义作为上下文添加到 Cmd K 中

8.8 @Link

通过粘贴 URL 在 Cursor 的 AI 功能中包含和管理 Web 链接作为上下文

Paste Links 粘贴链接

为了让Cursor在粘贴链接之前访问链接,你会看到该链接已“标记”

PDF 解析

@Link 和 Web 搜索现在支持解析 PDF 并将其内容作为上下文包括在内。当你将链接粘贴到 PDF 文档时,Cursor 将自动从 PDF 中提取和解析文本内容,以供 AI 参考和理解。

这与任何可公开访问的 PDF URL 无缝协作 - 只需粘贴链接,Cursor 将处理其余部分,为你提供完整的文档内容作为对话的上下文。

Remove Links 删除链接

默认情况下,我们会自动解析链接并将其转换为 Chat 中的@Links。如果你希望将链接设置为纯文本,请单击该链接,然后单击 Unlink(取消链接 )。

你也可以在不设置格式的情况下粘贴(按住 Shift 键)以确保链接未被标记

8.9 @Lint Errors

@Lint Errors 符号会自动捕获并提供有关当前活动文件中的任何 linting 错误和警告的上下文。

Agent 可以看到 lint 错误,你开启 AutoFix 时候将会自动处理。

8.10 @Recent Changes

使用 @Recent Changes 符号将最近修改的代码引用为 AI 聊天的上下文, Cursor 会自动跟踪最近对代码库所做的更改。这个很有用,因为现在 Cursor 经常会改 bug 时候因为上下文太多,忘了之前代码改动。

8.11 @Cursor Rules

@Cursor Rules 符号提供对你为项目设置的项目规则和准则的访问,从而允许将它们显式应用于上下文。这一般是你清楚的知道有特定的规则需要补充进去。

8.12 @Notepads

Notepads 是 Cursor 中强大的上下文共享工具,可弥合作者和聊天交互之间的差距。将它们视为超出 .cursorrules 功能的增强参考文档,允许为开发工作流程创建可重用的上下文。

更详细和最新的介绍参考-官方文档-Notepads[21]

Notepads 目前还是 Beta 阶段,需要开启后才能使用。

cursor0-8

Notepads 是思想、规则和文档的集合

  • • 在开发环境的不同部分之间共享
  • • 使用 @ 语法引用
  • • 通过文件附件进行增强
  • • 用作各种开发场景的动态模板

使用流程:

  • • 单击记事本部分中的“+”按钮
  • • 为你的记事本指定一个有意义的名称
  • • 添加你的内容、上下文、文件和其他相关信息,就像在编辑器或聊天中一样。
  • • 在 Chat 中使用 @ 引用它

下面是 Web 应用程序项目的记事本的典型示例:

# API Development Guidelines

## Endpoint Structure
- Use RESTful conventions
- Base URL: `/api/v1`
- Resource naming in plural form

## Authentication
- JWT-based authentication
- Token format: Bearer {token}
- Refresh token mechanism required

## Response Format
{
  "status": "success|error",
  "data": {},
  "message": "Optional message"


## Attached References
@api-specs.yaml
@auth-flow.md

8.13 @Past Chats

在 Chat 中处理复杂任务时,你可能需要参考之前对话中的上下文或决策的 @Past Chats 允许将之前聊天的摘要版本作为上下文包含在内。

这在以下情况下特别有用:

  • • 有一个很长的 Chat 会话,其中包含要参考的重要上下文
  • • 正在启动一项新的相关任务,并希望保持连续性
  • • 想要分享上一个会话的推理或决定

8.14 #Files

使用 # 后跟文件名以关注特定文件。将此符号与 @ 符号结合使用,以实现精确的上下文控制。

有什么差别呢,因为 @ 符号太多功能了,经常会搜索前缀时候出来一大片,用 # 就比较专注于文件了,算是一个小小的体验改进

8.15 /command

键入 / 可快速引用打开的编辑器并将其添加为上下文

目前 Cursor 1.0 提供的命令主要是这些,比较有用的是 Generate Cusror Rules,会让你更容易写出更高效的规则。

9.Ignore Files

使用 .cursorignore 和 .cursorindexingignore 控制 Cursor 的 AI 功能和索引可以访问哪些文件

专注和聚焦的上下文是让 AI 更聪明的关键点,也是节约钱的手段之一,学会使用忽略文件对你深度使用是非常有帮助

Cursor 读取项目的代码库并为其编制索引以支持其功能。你可以通过将 .cursorignore 文件添加到根目录来控制 Cursor 可以访问哪些目录和文件。

Cursor 尽最大努力阻止从以下位置访问 .cursorignore 中列出的文件:

  • • Codebase indexing 代码库索引
  • • 可通过 Tab、Chat 和 ⌘K 访问的代码
  • • 可通过 @ 符号引用访问的代码

由 Cursor 的 Chat 功能对 Terminal 和 MCP 服务器等服务发起的工具调用目前无法阻止对受 .cursorignore 管理的代码的访问

.cursorignore 和 .cursorindexingignore 有什么差别:

文件名
作用范围
.cursorignore
索引构建AI功能(如聊天、补全)中全部排除指定文件。
.cursorindexingignore
仅从索引构建中排除指定文件,AI功能仍可引用这些文件。

详细说明:

  • • .cursorignore
    • • 作用类似于 .gitignore,但更严格。
    • • 被列入 .cursorignore 的文件,不会被 Cursor 索引(即不会被 AI 全局理解和搜索),也无法通过 @Files 等方式添加到 AI 上下文,无法用于聊天、补全等任何 AI 相关功能[1][2][3][4][5]。
    • • 适用于不希望 AI 访问、分析或泄露的敏感文件,如密钥、配置、隐私数据等[1][3][4]。
  • • .cursorindexingignore
    • • 仅控制索引(Indexing),即这些文件不会被 Cursor 的代码库索引功能收录。
    • • 但仍可通过 @Files 等方式手动添加到 AI 上下文,用于临时分析、问答或补全[1][3][4]。
    • • 适用于不希望被全局索引,但偶尔需要 AI 参与的文件

场景举例

  • • 如果你有一个包含敏感信息的 .env 文件,不希望 AI 任何情况下访问,应该写进 .cursorignore
  • • 如果你有一些临时测试脚本,不希望被全局索引,但偶尔需要让 AI 帮忙分析,可以写进 .cursorindexingignore

总结

  • • .cursorignore = 索引和所有 AI 功能都排除(最严格)。
  • • .cursorindexingignore = 只排除索引,AI 仍可手动引用(较宽松)。

全局忽略文件

以通过用户级设置定义应用于所有项目的忽略模式。这样可以将干扰或敏感文件(如构建输出或 Secret )排除在提示之外,而无需按项目进行配置。(注意这是 VS Code Settings)

如何配置 .cursorignore

.cursorignore 文件使用与 .gitignore 文件中使用的模式匹配语法相同的语法。

基本配置步骤:

  1. 1. 在项目根目录新建 .cursorignore 文件
    推荐将 .cursorignore 文件放在项目根目录,Cursor 会自动识别。
  2. 2. 使用类似 .gitignore 的语法编写规则
    支持通配符、目录、文件类型匹配、否定规则等。

常用配置示例:

# 忽略 node_modules 目录及其所有内容
node_modules/

# 忽略 dist 目录及其所有内容
dist/

# 忽略所有 .log 文件
*.log

# 忽略 .env 文件(常见敏感配置)
.env

# 忽略 build 目录
build/

# 匹配所有层级下的 temp 目录
**/temp/**

# 忽略所有 .jpg、.png、.gif 图片文件
*.{jpg,png,gif}

# 忽略 target 目录,但保留 target/docs 目录
target/
!target/docs/

# 忽略所有日志文件,但保留 important.log
*.log
!important.log

语法说明:

  • • # 开头为注释
  • • 空行会被忽略
  • • * 匹配任意字符(不含路径分隔符)
  • • ** 匹配任意层级目录
  • • ! 表示否定规则(即不忽略)
  • • 规则会自上而下依次生效,后面可以覆盖前面

分层忽略:

默认情况下,Cursor 将仅在当前工作区中查找 .cursorignore 文件。从 Cursor设置 > Chat > Context > 分层光标忽略中启用时,光标将在文件树中一直向上搜索 .cursorignore 文件,从而允许跨嵌套项目目录进行更灵活的配置。

cursor0-9

如果发现怎么都 @ 不了文件,需要排查忽略文件的问题,可以使用命令行执行:

git check-ignore -v [file]

10.MCP-模型上下文协议

什么是 MCP?Model Context Protocol (MCP) 模型上下文协议 (MCP) 是一种开放协议,它标准化了应用程序向 LLM 提供上下文和工具的方式。将 MCP 视为 Cursor 的插件系统 - 它允许你通过标准化接口将代理连接到各种数据源和工具,从而扩展代理的功能。

MCP 更多请查看官方文档[22]

Cursor 支持的 MCP 常见传输方式:

10.1 安装 - One-Click Installation

Cursor 官方提供了 deeplink 帮助一键安装 MCP tools,并且比较谨慎的提供了一些官方维护的 MCP tools。

MCP 其实风险系数挺高的,不要轻易随便安装未知的 github repo 或者一些市场的安装方式
这里提一下,Trea 的 MCP 安装方式是最简单和人性化的,但是风险系数很高。一旦某个知名 mcp tools 被注入有毒代码,大家都会遭殃,还是慎重使用吧。安全和便利只能拥有1个。

Cursor 官方下场维护了推荐的一些工具,可以点击这里打开访问 - cursor-mcp-tools[23]

cursor 提供了审查机制,确保一定程度的安全性,还是可以信任一点点~

安装成功后,可以在 MCP 页面查看,还可以在这里手动添加

cursor0-10

10.2 安装 - 手动配置

对于自定义 MCP 服务器或高级配置,可以使用下面的配置文件方法手动设置 MCP 服务器。

上面设置章节 2.9 有示意图,回去补课看下图片

MCP 配置文件使用具有以下结构的 JSON 格式:(提醒一万遍,注意 json 格式,别多个逗号、少个逗号)
可以去使用一些 json 在线页面编程看看。(注意安全,别贴 key 进去)

cli server: node

// This example demonstrated an MCP server using the stdio format
// Cursor automatically runs this process for you
// This uses a Node.js server, ran with `npx`
{
  "mcpServers": {
    "server-name": {
      "command": "npx",
      "args": ["-y", "mcp-server"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

cli server: python (更多建议安装 uv, 使用 uvx 执行更方便)

// This example demonstrated an MCP server using the stdio format
// Cursor automatically runs this process for you
// This uses a Python server, ran with `python`
{
  "mcpServers": {
    "server-name": {
      "command": "python",
      "args": ["mcp-server.py"],
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

sse:

// This example demonstrated an MCP server using the SSE format
// The user should manually setup and run the server
// This could be networked, to allow others to access it too
{
  "mcpServers": {
    "server-name": {
      "url": "http://localhost:3000/sse",
      "env": {
        "API_KEY": "value"
      }
    }
  }
}

配置位置

可以将此配置放置在两个位置,具体取决于你:

  • • 如果是跨项目使用的,比如 contex7 之类的,可以放到全局配置
  • • 如果是仅一个项目使用的,比如 figma,可以放到项目配置

10.3 在 Chat 中使用 MCP

Agent 代理确定 MCP 设置页面上的可用工具(配置页面可以看到),将自动使用它们 。如果要提示使用工具,只需告诉代理使用该工具,通过名称或描述引用它。还可以从设置页面启用或禁用单个 MCP 工具,以控制哪些工具可供 Agent 使用。

工具批准

默认情况下,当 Agent 想要使用 MCP 工具时,它将显示一条消息,请求你的批准。你可以使用工具名称旁边的箭头展开消息,并查看 Agent 使用哪些参数调用工具。

这是一种安全手段,减少攻击风险


自动运行
赌狗和懒人肯定希望他全自动运行,看这里设置

不知道怎么打开设置的,回去看章节 2.2

cursor0-11

为特定工具定义护栏和允许/拒绝列表,以控制自动执行。根据需要配置这些设置

Allowlist(允许列表)

  • • 作用:只允许列表中的命令自动执行,其他命令仍需手动确认。
  • • 配置方式:每行填写一个命令名(如 npm testtscmkdir),支持模糊匹配和通配符(如 npm* 匹配所有 npm 命令)。
  • • 示例
    npm test
    tsc
    mkdir
    touch
    ls
  • • 注意:如果 allowlist 为空,理论上所有命令都允许自动执行

Deny List(拒绝列表)

  • • 作用:明确禁止列表中的命令自动执行,即使它们在 allowlist 里也会被 deny list 覆盖。
  • • 配置方式:每行填写一个命令名(如 rmgit reset)。
  • • 示例
    rm
    git reset
    shutdown

推荐安全实践

  • • 只允许常用、安全的命令:如 npm testtscmkdir 等。
  • • 强烈建议 deny list 添加高风险命令:如 rmsudogit reset 等。
  • • 必要时结合其他保护选项:如 Delete file protection、Dot files protection、Outside workspace protection

工具响应

使用工具时,Cursor 将在聊天中显示响应。此图显示了示例工具的响应,以及工具调用参数和工具调用响应的扩展视图。


图像注入

当使用某些 MCP 服务器时,Cursor 可能会运行返回图像的工具,例如网站的屏幕截图或图表。要允许 Chat 正确查看和使用其回复中的图像,你可以确保将服务器配置为以正确的格式返回图像。只需在工具响应中返回图像的 base64 编码字符串即可。

const RED_CIRCLE_BASE64 = "/9j/4AAQSkZJRgABAgEASABIAAD/2w..." 
// ^ full base64 clipped for readability

server.tool("generate_image", async (params) => {
  return {
    content: [
      {
        type: "image",
        data: RED_CIRCLE_BASE64,
        mimeType: "image/jpeg",
      },
    ],
  };
});

更多关于图像处理可以查看这个仓库文件 - image-server[24]

通过以这种格式返回图像,Cursor 会将图像附加到聊天中,如果当前模型支持,模型将查看和分析图像,以帮助进行下一步。


局限性

某些 MCP 服务器或具有许多 MCP 服务器处于活动状态的用户可能有许多工具可供 Cursor 使用。目前,Cursor 只会将前 40 个工具发送给 Agent。

有些 MCP tool 列出的工具就超过 40 个,还是别用了。。。

Cursor 直接从本地计算机与 MCP 服务器通信,可以直接通过 stdio 或使用 sse 通过网络。因此,MCP 服务器在通过 SSH 或其他开发环境访问 Cursor 时可能无法正常工作。官方已经关注这个问题,会在未来的版本中改进这一点。

MCP 服务器提供两个主要功能:工具和资源。Cursor 中目前提供了工具,并允许 Cursor 执行 MCP 服务器提供的工具,并在后续步骤中使用输出。但是,Cursor 中尚不支持 resources。官方会在未来的发行版中添加资源支持。

11. 版本控制

很多小白在使用 cursor 过程中,因为不懂工程的一些原因,选择了保存 N 个文件夹备份的方式。这虽然方便,但是频繁改动情况下,还是容易失手~?

因此在这里,我推荐一个方式给大家,那就是过集成主流的版本控制工具(如 Git)来实现项目的版本管理,而且还可以安装 Git 的图形化插件帮助你使用。

11.1 Git 安装和插件介绍

推荐的版本管理操作流程

Git 教程小白也可以看下廖雪峰老师的简单入门 Git 教程[25]

  • • 安装 Git
    首先需要在本地安装 Git 工具。安装后,Cursor 会自动检测并集成 Git 功能。(安装可以查看 安装教程[26]
  • • 初始化本地仓库
    在项目根目录下通过命令行或 Cursor 的终端执行
    git init

    这样你的项目就具备了本地版本管理能力。

  • • 关联远程仓库
    你可以在 Gitee、GitHub 等平台创建远程仓库,然后用如下命令关联远程地址:
    git remote add origin
  • • 常用 Git 操作
    在 Cursor 里可以直接通过内置的 Source Control 面板或终端进行如下操作:
    • • git add .:添加所有更改
    • • git commit -m "描述":提交更改
    • • git push:推送到远程仓库
    • • git pull:拉取最新代码
  • • 版本回退与分支管理
    Cursor 支持多文件多版本的回退、分支切换、合并等操作,和 VSCode 的操作体验类似。

总结: 你提交一个 commit,就是一次版本控制!而且可以随时回退!


图形化 Git 插件推荐

有多个插件可以帮助你实现更强大、直观的 Git 图形化管理。以下是最受欢迎和实用的插件:

  1. 1. GitLens
  • • 功能亮点
    • • 在代码行旁直接显示作者、提交时间等信息(Blame 注释)
    • • 可视化查看和导航 Git 历史、分支、提交
    • • 支持对比分支、提交、文件历史等
    • • 便捷的分支管理和冲突解决
  • • 适用场景:团队协作、代码审查、历史追踪
  • • 安装方式:在扩展市场搜索“GitLens”并安装
  1. 2. Git History
  • • 功能亮点
    • • 图形化查看所有提交记录和分支结构
    • • 查看单个文件或某一行的历史变更
    • • 支持对比分支、提交、文件内容
    • • 支持 Cherry-pick、标签、合并、变基等高级 Git 操作
  • • 适用场景:详细历史分析、版本对比
  • • 安装方式:在扩展市场搜索“Git History”并安装
  1. 3. Git Graph
  • • 功能亮点
    • • 提供可交互的 Git 提交图谱
    • • 支持分支、合并、rebase、cherry-pick、revert 等操作
    • • 直观显示分支结构、提交关系
  • • 适用场景:分支管理、复杂历史梳理
  • • 安装方式:在扩展市场搜索“Git Graph”并安装
  1. 4. VSCode 内置 Git
  • • 功能亮点
    • • 支持常规的 Git 操作(提交、推送、拉取、分支管理、冲突解决等)
    • • 变更对比、暂存区管理
  • • 适用场景:日常开发、基础版本管理
  • • 无需额外安装,VSCode 默认集成

11.2 小白必学的版本管理(Git)命令

对于刚接触 Cursor 和 Git 的新手来说,掌握以下基础 Git 命令即可实现日常的版本管理和代码保护。这些命令不仅适用于 Cursor,也适用于 VSCode 等主流编辑器。


1. 初始化仓库

  • • git init
    在项目根目录下初始化本地 Git 仓库:
    git init

2. 查看状态

  • • git status
    查看当前项目的文件变更状态:
    git status

3. 添加变更

  • • git add 文件名
    将指定文件的更改添加到暂存区:
    git add 文件名
  • • git add .
    添加所有更改的文件到暂存区:
    git add .

4. 提交变更

  • • git commit -m "提交说明"
    将暂存区的更改提交到本地仓库,并写明本次提交的说明:
    git commit -m "描述本次提交的内容"

5. 查看提交历史

  • • git log
    查看提交历史记录:
    git log

6. 关联远程仓库

  • • git remote add origin 仓库地址
    关联远程仓库(如 GitHub、Gitee):
    git remote add origin https://github.com/yourname/yourrepo.git

7. 推送到远程仓库

  • • git push -u origin master/main
    将本地提交推送到远程仓库主分支:
    git push -u origin master

    git push -u origin main

8. 拉取远程代码

  • • git pull
    从远程仓库拉取最新代码并合并到本地:
    git pull

9. 创建与切换分支

  • • git branch 分支名
    创建新分支:
    git branch dev
  • • git checkout 分支名
    切换分支:
    git checkout dev

10. 合并分支

  • • git merge 分支名
    将指定分支合并到当前分支:
    git merge dev

Cursor 特色辅助

  • • @Git 快捷指令
    在 Cursor 的 AI 聊天窗口输入 @Git,可以让 AI 分析当前的 Git 变更、生成提交说明、查找 bug 等。
  • • 自动生成提交信息
    Cursor 支持根据代码变更自动生成符合规范的 commit message,提升效率。

总结建议

  • • 先学会基本的增、查、提、推、拉(add、status、commit、push、pull)。
  • • 日常开发建议每完成一个小功能就 commit 一次,养成良好习惯。
  • • 善用 Cursor 的 AI 辅助和 @Git 功能,让版本管理更高效。

只需掌握上述命令和基本操作,你就能在 Cursor 里自如地进行项目版本管理,无惧代码出错或丢失!

12.常见问题

12.1 网络问题

首先,检查你的网络连接。转到 Cursor Settings > Network ,然后单击运行诊断。 这将测试你与 Cursor 服务器的连接,并帮助识别可能影响 AI 功能、更新或其他在线功能的任何与网络相关的问题。

不知道怎么打开,看章节 2.9

Cursor 的许多 AI 功能都依赖于 HTTP/2 协议,因为它能够处理流式响应。如果你的网络不支持 HTTP/2,这可能会导致无法为代码编制索引以及无法使用 Cursor 的 AI 功能等问题。在公司网络上、使用 VPN 或使用 Zscaler 等代理时,可能会出现这种情况。

为了解决这个问题,Cursor 现在提供了 HTTP/1.1 回退,它的速度较慢,但允许使用 Cursor 的 AI 功能。
你可以在应用程序设置 - VSCode settings(而不是 Cursor 设置)中自行启用此功能,方法是按 CMD/CTRL + , 然后搜索 HTTP/2。

然后,应该启用 Disable HTTP/2 选项,这将强制 Cursor 使用 HTTP/1.1,并应该可以解决问题。

最后在设置里面点击回退到 HTTP1.1

cursor0-12

12.2 资源问题(CPU、RAM 等)

一些用户在 Cursor 中看到 CPU 或 RAM 使用率较高,这可能会导致其计算机速度变慢,或显示有关 RAM 使用率较高的警告。

虽然 Cursor 在处理大型代码库时可能会使用大量资源,但对于大多数用户来说,情况通常并非如此,并且更有可能是 Cursor 的扩展或设置的问题。

如果在 Cursor 中遇到 CPU 或 RAM 使用率过高的情况,以下是诊断和解决问题的步骤:

1. 检查你的扩展!

虽然许多扩展可能很有用,但有些扩展会显著影响性能!要对此进行测试,你可以尝试从命令行运行 cursor --disable-extensions 以在不启用任何扩展的情况下启动 Cursor。如果性能有所提升,请逐渐逐个重新启用扩展,以找出有问题的扩展。

cursor --disable-extensions

你还可以尝试使用 Extension Bisect 功能,这将帮助你确定导致问题的扩展。你可以在此处[27]阅读更多相关信息,但请注意,这可能仅在问题直接且明显时才有用,而不是随着时间的推移而恶化的问题。

2. 使用Process Explorer

要打开它,请打开命令面板 (Cmd/Ctrl + Shift + P) 并运行命令 Developer: Open Process Explorer 。

这应该会打开一个新窗口,其中包含 Cursor 正在运行的所有进程的列表,包括作为它自己的执行的一部分,以及运行扩展所需的任何进程和你可能正在运行的任何终端。这应该会立即识别任何消耗大量资源的进程。

如果该进程列在 extensionHost 下拉列表下,则表明是扩展导致了问题,你应该尝试查找并禁用有问题的扩展。

如果进程列在 ptyHost 下拉列表下,则表明终端正在消耗大量资源。Process Explorer 将向你显示每个正在运行的终端,以及其中正在运行的命令,以便你可以尝试终止它或诊断它的高资源使用率。

如果用法来自其他进程,请在论坛[28]中反馈,寻求官方帮助

12.3 一般常见问题

Q: 我在更改日志上看到更新,但 Cursor 不会更新

如果更新非常新,则可能尚未向您推出。官方进行灰度发布,这意味着官方先向一些随机选择的用户发布新更新,然后再将其发布给所有人。预计几天后即可获得更新!

Q: 我在 Cursor 中登录 GitHub 时遇到问题 / 如何在 Cursor 中注销 GitHub?

可以尝试使用命令面板中的 Sign Out of GitHub 命令 Ctrl/⌘ + Shift + P。

Q: 连接远程 SSH 时遇到错误

不支持通过 SSH 连接到 Mac 或 Windows 计算机。如果未使用 Mac 或 Windows 计算机,请在论坛中向报告问题。包含一些日志以获得更好的帮助会很有帮助。

Q: Windows 上的 SSH 问题

如果您遇到错误“SSH 仅在 Microsoft 版本的 VS Code 中受支持”,请执行以下步骤:
1.卸载当前的 Remote-SSH 扩展:

  • • 打开 Extensions 视图 (Ctrl + Shift + X)
  • • 搜索 “Remote-SSH”
  • • 单击齿轮图标并选择“卸载”
    2.安装 Remote-SSH 版本 0.113:
  • • 转到 Cursor 市场
  • • 搜索 “Remote-SSH”
  • • 找到版本 0.113 并安装
    3.安装后,关闭所有具有活动 SSH 连接的 VS Code 实例
  • • 完全重启 Cursor
  • • 再次尝试通过 SSH 连接
    如果您仍然遇到问题,请确保您的 SSH 配置正确

Q: 我刚刚订阅了 Cursor Pro,但是程序还是使用免费计划

从 Cursor Settings 里面选择 Logout/注销,重新登录

Q: 如何从命令行打开 Cursor

可以通过在终端中运行 cursor 从命令行打开 Cursor。如果您缺少 cursor 命令,您可以
1.打开命令面板 ⌘+shift+P
2.键入 install command
3.选择 Install 'cursor' command(也可以选择安装“cursor”命令 ,也可以选择 code 命令,它将覆盖 VS Code 的 code 命令)

 

53AI,企业落地大模型首选服务商

产品:场景落地咨询+大模型应用平台+行业解决方案

承诺:免费场景POC验证,效果验证后签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

添加专属顾问

回到顶部

加载中...

扫码咨询