备受关注的 Cursor迎来了 0.50 版本的重大更新!这次更新不仅带来了更简洁的定价模式,还在许多功能上进行了多项优化和创新。下面我为大家详细解读各项变更细节及其对我们开发体验带来的影响。
- 增强的Max模式和简化的计价方式
0.50之前的Cursor版本只有 claude-3.7-sonnet
和 gemini-2.5-pro
两个模型拥有 Max模式
。
而0.50之后 Max模式
的开关放在了最上面,可用于Cursor中所有最先进的模型。
Max模式
和 Normal模式
之间的区别主要在于上下文处理的深度优化上, Max模式
的优势在于:
- 长达 100w token的上下文窗口(
Normal模式的上下文窗口未提及,但应该偏小
) - 多达200次工具调用(
Normal模式最多只有25次
) - 读取文件工具最多可读取 750 行(
Normal模式最多读取250行
)
这么说可能还不太直观,拿实际的工作场景举例,以下是适合使用 Max 模式的典型场景:
- 大型或复杂代码库的重构: 当你需要对跨越多个文件或模块的大段代码进行重构时,Max 模式更大的上下文窗口能帮助 AI更好地理解代码间的依赖关系和潜在影响,从而给出更安全、更全面的重构建议。
- 跨多文件的复杂功能开发: 开发一个新功能,如果其逻辑分散在项目的不同部分,Max 模式能够“看到”更多的相关代码,有助于生成更连贯、更符合整体架构的新代码。
- 调试难以追踪的复杂 Bug: 当遇到一个 Bug,其根源可能深埋于代码库的多个角落,或者其复现路径非常曲折时,Max 模式能够分析更多的代码路径和执行更多的检查步骤(工具调用),从而更有可能帮助定位到问题的核心。
- 处理超长代码文件: 如果你正在处理一个非常长的单个代码文件(例如包含数千行配置、日志分析脚本或某些历史遗留代码),Max 模式单次能读取更多行数(750 行 vs Normal 模式的 250 行)的能力,使其在理解和操作这类文件时更具优势。
- 需要AI执行一系列连续操作的任务: 对于那些需要 Curosr 连续执行多个步骤才能完成的指令,例如:“首先,在A文件中找到所有X模式的实例;然后,对于每个实例,去B文件中查找对应的Y;接着,如果Y满足条件Z,就修改A文件中的X”,Max 模式更高的工具调用上限可以支持 Cursor 更顺畅地完成整个任务链,从而减少中途需要用户介入“继续”的次数。
0.50版本之前的 Max模式
是按请求次数计费,无论是 claude-3.7-sonnet
还是 gemini-2.5-pro
,它们的 Max模式
每次请求和工具调用都消耗$0.05(美刀),这种计价模式会导致一个痛点: 统计方式不够精细,一个简单的请求(例如,解释一行代码)和一个非常复杂的请求(例如,生成一个包含多个方法和复杂逻辑的完整类)可能会消耗同样的一次请求机会,费用消耗一致。但实际上这两次请求对实际Token的消耗差距非常大,这对于很多情况下可能觉得不太划算。
因此,0.50版本Cursor将 Max模式
统一调整成基于Token的定价 ,新的计价模式下,你实际付的费用与使用 Max模式
处理请求所消耗的token总量有关。简单来说,我们在使用 Max模式
请求时,Cursor会将所消耗的token数折算成"requests"($0.04/request),和 Normal 模式
共用同一套额度与超额定价:
- 如果你使用的是
Pro/Business
方案(有500 fast requests月度额度),Max模式
会把这500 Requests消耗地更快,不会再额外扣钱。 - 超出 500 fast requests后,系统会自动按 0.04美刀/request 的标准触发”使用量计价“,累计到20美刀触发一次扣款,或每月2-3号结算不足20美刀的尾款。
- 引入 "@folders":将整个代码库纳入上下文
0.50之前的Cursor版本也支持将文件夹作为上下,但是只能支持将项目中某个特定的子文件夹作为上下文,这对于开发或修改项目的某个特定模块非常有帮助。但有时我们的工作需要整个项目的视野(比如进行大规模重构),此时新引入的"@folders"上下文指令就会非常有用,它可以将整个代码库添加到上下文中,只需确保从设置中启用 Full folder contents
即可。当在大型项目中工作时,配合 Max模式
的超长上下文真的是强强联合。
当然,如果你的项目太大,甚至超出了 Max模式
的最长上下文窗口限制,Cursor会在上下文胶囊上显示一个小图标进行提示,此时就需要我们对上下文范围进行调整。
Cursor如何将整个代码库纳入上下文的技术细节目前还不太清楚,猜测还是结合所使用的每个特定高级模型所支持的最大上下文输入限制来决策,比如 Gemini-2.5-Pro
支持最大100w token的输入,那当我们在Cursor中选择这个模型时, @folders
就能支持100w token大小的仓库。在0.50版本之前,如果要支持将整个项目仓库作为上下文,还有一种技巧,我在上一篇文章:《Vibe coding之调试篇:如何高效Debugging》中也提到过,可以先通过github上开源的 repo2txt
项目将我们的整个项目代码整理成一个文本文件,接着将生成的文本文件内容,加上详细的需求描述一起作为上下文,提交给能处理超长上下文的 Gemini-2.5-Pro
模型:
现在有了 @folders
结合 Max模式
,我们就不用这么折腾了( 注:如果项目很大,这种方式消耗的token数量可能非常多,从而导致会大量消耗掉我们每月500次限额的request数量,所以有时还是可以使用上述我提到的repo2txt结合Gemini-2.5-pro的方案
)。
- 全新 Tab 模型:跨文件智能建议
0.50版本之前的 Cursor Tab
编辑预测局限在单文件内,虽然预测的准确度尚可,但仍无法完全融入我们行云流水的实际开发节奏中。我们的项目开发过程经常需要在不同的文件、不同的模块之间跳转。就拿许多项目中广泛应用的经典 MVP(Model-View-Presenter)架构来说,一个完整功能的开发,往往意味着开发者需要在 Model 层处理数据逻辑,在 View 层更新用户界面,在 Presenter 层进行协调调度。这就必然导致了在这三层对应的代码文件之间进行高频次的切换和编辑。
例如,当开发者在 Presenter 层修改方法参数或调整业务逻辑输出时,旧版 Cursor Tab 由于缺乏跨文件上下文感知能力,无法即时识别此变更对 View 层用户界面或 Model 层数据获取逻辑可能产生的连锁影响。开发者因此需要依赖手动检查与同步,在不同文件间切换并进行修改,无法完全贯彻Cursor Tab设计之初的**“ 一键Tab,直达目标”** 的理念。
Cursor 0.5 版本终于开始将想法变成了现实,通过引入的全新 Tab 模型,支持了跨文件进行建议和变更。按Cursor官方的说法,新的模型特别擅长重构、编辑链、多文件变更以及相关代码之间的跳转等场景。此外,新模型还额外支持了在补全建议中也添加了语法高亮,让体验更丝滑。至于真实的使用效果是否真有这么好,待具体使用后来评测。
- 多代码库工作流优化:引入工作区(Workspaces)
这项新特性的引入真的是我们开发者的福音。在旧版本Cursor中,如果我们要在一个Cursor窗口中同时打开几个关联的项目仓库需要怎么做? 也有办法,就是先将这几个项目先统一扔到同一个文件夹下,再用Cursor打开这个文件夹,很不方便。而且这种强行关联的模式在Cursor内部也并没有做统一的上下文感知和管理,只是我们看代码和理解代码更方便而已。
而Cursor 0.50版本将引入“工作区”功能,从编辑器层面就支持了同时打开多个关联项目仓库的需求(无需像之前一样将这些仓库放在同一个文件夹下),而且提供了统一的上下文管理,例如,在工作区中定义的".cursor/rules"在所有添加的项目文件夹中都受支持。
接下来,我通过一个具体的项目案例来说明“工作区”功能给我们带来的好处。当我们开发大型Unity游戏项目时,可能涉及会涉及到三个项目仓库:
- Lua 项目仓库: 用于实现部分游戏逻辑、UI 交互或热更新脚本。
- Unity C# 项目仓库: 核心的游戏玩法逻辑、天气系统的主要实现、与 Unity 引擎的交互、以及 C# 与 Lua、C++ 的桥接层。
- C++ 项目仓库: 用于引擎中的高性能插件模块。
当添加一个功能时,如果涉及到c++层某个核心功能接口的调整,可能涉及到三个项目相关的调用处都要做改造。有了工作区之后,在同一个Cursor窗口中,我们就能通过一次对话完成上述三个项目中相关代码的调整,简直是效率利器。
- 后台代理(Background Agent):并行处理大型任务(预览版)
这次0.50版本的更新中,“后台代理“ 应该属于突破性的功能。旧版本的Cursor在与AI协同进行工作时还是串行模式,这会给我们的工作带来一个显著的问题:工作流中断与上下文切换成本 。如何理解呢?
当前的AI工作可能占用编辑器( 使用内联模式
)或者会话窗口( 使用模式
),无论哪种模式,对其都是独占的,如果是一件耗时的工作,我们不得不等其完成再继续工作。如果接下来要做的工作非常急迫,我们可能不得不切换到其它工具或者完全暂定当前正在执行的AI工作,这就直接破坏了我们开发的连续性,当任务最终完成后,我们还需要重新加载之前被临时中断的工作的上下文,增加了我们的心智负担。
0.50引入的后台代理理论上可以完美帮我们解决以上的困境,它可以独立于我们当前的会话,在一个后台执行,而且可以同时处理多个任务,完全符合我们日常工作中的并行性处理思维。
拿一个实际的场景举例,我们决定将一组核心 API 的命名规范和参数结构进行统一调整,这涉及到项目中上百个文件的修改。采取的做法是先定义重构的规则,再指导AI去执行。如果没有后台代理,整个重构过程将锁定相关的代码文件和 AI 功能。而引入后台代理后,我们可以将大规模重构任务提交给后台代理。代理开始在后台分析和修改相关文件。我们则可以继续在当前文件中编写新的业务逻辑,或者使用 AI 聊天功能讨论下一个模块的设计思路。我们可以偶尔查看后台任务的进度,但主要工作流程不受影响。工作模式从“监督执行-阻塞”转变为“异步执行-持续开发”。
- 内联编辑(Inline Edit)焕新:UI 优化与功能增强
当我们在单个代码文件中进行代码调整时( 添加功能、重构代码
),内联编辑往往用的比较频繁。旧版Cursor的内联编辑比较简单,针对文件中指定的代码段通过 Commond + K
调出内联编辑窗口,输入指令,完成变更。而0.50版本的Cursor对内联编辑功能做了以下两点的增强,让其更加实用:
- 支持对整个文件进行编辑 (Full File Edits)
- 新增选项:支持直接将编辑内容发送给Agent处理 (Send to Agent)
详情可以看以下的视频演示:
那么这两个增强的特性能给我们实际的开发工作带来什么好处呢,我们拿一个业务场景举例。假设我们接手了一个包含约 500 行代码的遗留 JavaScript 文件 ( legacyModule.js
)。这个文件包含多个函数,代码风格不一致,部分函数缺乏文档,并且其中一个核心函数逻辑复杂、难以理解和维护。我们现在需要对其代码风格统一、补充必要的文档、并且对其核心逻辑进行重构与优化。
在新的 内联模式
下,我们可以基于 Full File Edits
对整个文件进行风格统一优化同时生成必要的文档,而不必要像旧版Cursor的 Inline Edit
那样进行碎片化调整。接着,对核心逻辑进行重构时,我们可以先在内联模式下尝试一个初步的、简洁的指令,如:“初步优化此函数的可读性”。如果我们评估后认为任务的复杂度超出了简单内联修改的范畴,或者初步建议不够深入,此时可以无缝利用新增的 “发送给代理处理”**
选项,点击“发送给代理处理”,当前选中的代码以及初步的编辑意图(如果有输入)会自动传递给更强大的 AI 代理进行处理。这让我们与AI协同的工作流更加丝滑。
- 聊天功能增强:导出与复制
0.50版本的Cursor支持了聊天记录的导出和复制,这对于团队沉淀思考路径、问题解决方案都非常有帮助。
聊天记录支持导出为 Markdown 格式
将将聊天记录导出为 Markdown 格式,超越了简单的“记录保存”,可以帮助我们更好的进行知识沉淀。例如,某次线上紧急故障,开发同学与 AI 协同排查,尝试了多种方案最终定位问题。导出的 Markdown 记录了整个过程,包括 AI 的分析、开发者的判断和最终的解决方案,成为未来处理类似故障的宝贵参考。
复制聊天内容(包括代码与文本)
直接复制聊天内容的功能,虽然基础,但在提升即时工作效率方面对我们也有不小的帮助,尤其是在代码片段的即时应用与测试方面:AI 生成的代码建议、修复方案或完整函数,通过一键复制,可以立刻粘贴到编辑器中进行测试、集成或进一步修改,极大地加速了“从建议到实践”的转化过程。例如,AI 针对我们选中的一段有bug的代码,给出了一段修正后的代码。我们可以复制此代码,直接替换原有代码,立即运行测试,验证修复效果。
结语
Cursor 0.50 版本的更新,从定价的灵活性、核心功能的智能化,到工作流的便捷性,都体现了Cursor团队对开发者需求的深入洞察和积极响应。另外,最近一些读者在后台反馈在日常使用各类AI产品时遇到了一些困扰,例如购买的第三方代理服务不稳定、部分AI产品无法绑卡、某些AI产品的账号容易被封禁或服务质量下降等问题,我本来写了一篇详细的保姆级教程来手把手指导解决这些问题,但相关话题无法通过微信公众号发表,有需求的读者可以在后台发消息,我通过PDF的方式发送。