很多人想用 AI 辅助编程,但第一步就卡住了:装哪个工具?VS Code 插件太多不知道选什么,JetBrains 的 AI 助手又贵,命令行工具上手门槛高……选择太多,反而不知道怎么选。
这篇文章只讲一件事:Cursor。
这不是一篇功能列表式的测评。我会从安装、配置讲起,把每个核心功能拆开来给你看,再告诉你哪些坑我踩过。目标只有一个:看完就能上手,用起来不踩坑。
先说清楚一件事。Cursor 的核心理念不是"AI 替你写代码",而是"AI 跟你一起写代码"。这两个的区别听起来像是文字游戏,实际上决定了工具的使用方式和预期。
替你写:AI 是主角,你是被动接收者。生成的代码合不合适,你来兜底。
跟你一起写:你和 AI 是协作者,你定方向,AI 跑腿,出了问题你能马上感知和修正。
Cursor 之所以跟大多数 AI 编程工具不一样,就在这个定位上。它不是一个装在 IDE 里的聊天机器人,而是一个从底层设计就围绕 AI 协作展开的编辑器。
一、Cursor 是什么
Cursor 是一个 AI 原生代码编辑器,底层基于 VS Code。这意味着 VS Code 的插件生态、快捷键体系、主题系统,它全部继承。你可以把它理解成"装了最强 AI 协作者加强版的 VS Code"。
它和 VS Code + AI 插件(如 Copilot)的本质区别在于:
VS Code + AI 插件是后加上去的。AI 功能依附于编辑器,插件只能看到当前打开的文件,跨文件理解能力弱,模型选择受限于插件本身。
Cursor是生而为 AI 的。编辑器从第一天就是为 AI 协作设计的,AI 能理解整个项目的上下文,能同时编辑多个文件,模型配置也更灵活。
核心功能有四个:
Tab 补全:在你写代码的过程中,Cursor 预测你下一步要写什么,按 Tab 接受。听起来和 Copilot 一样,但 Cursor 的补全上下文更宽,理解你正在实现的函数逻辑,而不是机械地补关键字。
Ctrl+L 对话窗口:编辑器右侧打开一个 AI 对话窗口,你可以选中代码问它问题,也可以让它帮你设计一个模块。它能读取当前项目的多个文件,理解完整上下文后再回答。
Ctrl+K 编辑器内直接改代码:选中一段代码,按 Ctrl+K,描述你想怎么改,Cursor 直接在编辑器里修改代码,接受或拒绝由你决定。这不是对话,是直接操作。
Ctrl+I(Composer):这是 Cursor 最强的功能。你可以描述一个需求,比如"帮我写一个 React Todo 应用",它会生成整个项目结构,包括 App.jsx、样式文件、配置文件。适合快速出原型和探索陌生技术栈。
为什么比普通 IDE 的 AI 插件更好用?三个原因:上下文感知更强(能看整个项目而不只是一个文件),模型选择更灵活(可以按任务切换不同模型),以及 AI 和编辑器的交互深度更深(Ctrl+K 直接改代码,不是返回一段文字让你自己复制)。
二、安装与配置(Windows 为主)
1. 下载
去 cursor.com/cn,这是 Cursor 的中文官网,不需要梯子,下载速度也够快。Windows 用户下载.exe安装包,macOS 用户下载.dmg,Linux 用户下载.AppImage或.deb。
2. 安装
双击.exe,一路下一步,没有任何复杂的选项。安装目录可以自定义,但默认装在C:\Users\你的用户名\AppData\Local\Programs\Cursor也没问题。安装完成后,Cursor 会自动启动。
3. 登录
首次启动会让你登录。可以用 GitHub 账号授权,也可以用 Google 账号。登录后新用户有Pro 体验期(14 天),体验期内可以使用所有高级模型(Claude Opus 4、GPT-4o、Sonnet 等)。体验期结束后功能降级,但基础功能仍然可用,也有免费模型可用,不想付费完全可以继续用。
4. 汉化
Cursor 默认是英文界面。如果你习惯中文,在插件市场搜索Chinese (Simplified),点击安装,然后按Ctrl+Shift+P,输入Configure Display Language,把语言切换为中文(简体),重启编辑器即可。
5. 导入 VS Code 配置
如果你之前深度使用过 VS Code,Cursor 提供了一键迁移配置的功能。在启动引导中会有导入选项,或者在设置 → General → Import VS Code Settings里手动触发。它会导入你的快捷键方案、主题、已安装插件列表。
插件迁移要注意一点:Cursor 基于 VS Code,但并非所有 VS Code 插件都能在 Cursor 里运行。主流插件基本兼容,小众插件可能出现兼容性问题,需要逐个测试。
6. 验证安装成功
打开任意一个代码文件(.py、.js、.ts 都可以),在编辑器里写几行代码,看看 Tab 键是否出现了智能补全提示。如果出现了,说明一切正常。
defcalculate_fibonacci(n):# 试着在这里按 Tab,Cursor 应该会补全函数体pass三、核心功能详解
Ctrl+L:AI 对话窗口
这是 Cursor 使用频率最高的入口。按下Ctrl+L,编辑器右侧会打开一个对话面板。
适用场景很广。你可以问它代码逻辑:
选中文本,按 Ctrl+L,输入: "这段代码为什么要用二分查找而不是线性遍历?"它会结合你选中的代码给出解释,而且能引用代码中的具体变量和行号。
也可以让它帮你设计模块:
Ctrl+L,输入: "帮我设计一个用户认证模块,要求支持 JWT,包含注册、登录、Token 刷新三个接口,用 FastAPI 实现。"它会给出完整的模块设计方案,代码可以直接复制到项目里。
进阶用法:添加文件作为上下文。在对话输入框里输入@,会弹出文件选择器。你可以选择当前项目的某个文件,让 AI 在阅读完整个文件后再回答问题。这个功能非常关键——AI 只有在看到完整上下文的情况下才能给出准确的建议,而不是泛泛而谈。
# 假设你有一个这样的旧项目文件 utils.py# 你想让 AI 帮你理解它并提出重构建议# Ctrl+L → @utils.py → "这个文件有什么问题,如何重构"模型选择。Cursor 支持切换不同的 AI 模型。不同任务适合不同的模型:Claude Sonnet 4 适合代码分析和理解,GPT-4o 适合代码生成和对话,Gemini 系列适合多模态任务(如果你需要分析截图里的代码)。在对话窗口左上角的模型选择器里切换。
Ctrl+K:编辑器内直接改代码
Ctrl+L 是对话,Ctrl+K 是直接动手。选中代码,按Ctrl+K,底部会弹出一个输入框,描述你想怎么改,Cursor 直接在编辑器里修改代码。
实操示例:把一个大函数拆成小函数。
# 原始代码:一个大函数做了太多事情defprocess_user_data(user_data):# 验证数据ifnotuser_data.get('name')ornotuser_data.get('email'):raiseValueError("Missing required fields")if'@'notinuser_data['email']:raiseValueError("Invalid email format")# 数据转换processed={'name':user_data['name'].strip().title(),'email':user_data['email'].lower().strip(),'id':generate_id()}# 存储db.users.insert(processed)# 发送欢迎邮件send_email(processed['email'],"Welcome!")returnprocessed选中这个函数,按Ctrl+K,输入:
把这个函数拆成四个独立函数:validate_user_data、transform_user_data、save_user_data、send_welcome_email,主函数只负责调用它们。Cursor 会直接在编辑器里重构代码。你可以逐行查看修改,按Tab接受全部,或逐行按Accept/Reject。
如果改错了,Ctrl+Z(Windows)/Cmd+Z(macOS)可以撤回。
Tab:智能补全
Tab 补全看起来和 Copilot 差不多,但实际用起来感知差距很明显。普通补全只能补关键字和常用表达式,Cursor 的 Tab 补全能理解你正在实现的函数逻辑,补全整段代码块。
接受补全:Tab。拒绝补全:Esc。
写完一行后,Cursor 会自动预测下一行,连续补全是它的默认行为。在实现重复性代码(如 CRUD 操作、测试用例)时,这个功能节省的击键量很可观。
Ctrl+I(Composer):多文件项目级生成
Composer 是 Cursor 最强大的功能,也是最需要谨慎使用的功能。
按Ctrl+I,输入一个需求描述,Cursor 会生成整个项目结构。
Ctrl+I,输入: "帮我创建一个 Todo 应用,使用 React + Tailwind CSS,包含添加、删除、完成 Todo 的功能,数据存 localStorage,支持暗黑模式。"Cursor 会生成多个文件:App.jsx、index.css、package.json,以及必要的配置文件。你可以在编辑器里直接查看、修改、接受每一个文件。
这个功能最适合两个场景:快速出原型(验证一个想法是否可行,不需要先搭三个月架子)和陌生技术栈探索(你想试试某个框架能不能实现某个功能,让 AI 先搭个架子,你再去看代码理解它)。
风险提示:Composer 生成的代码质量因模型而异,也因需求描述的精确程度而异。刚生成的代码一定要 review,逻辑错误和安全隐患是真实存在的,不要跳过这一步直接上线。
四、AI Code Review
Cursor 的 AI 对话能力天然支持代码审查,而且比传统的 linter 更懂业务逻辑。
实操:打开一个文件,按Ctrl+L,输入:
"帮我 review 这个文件的 bug,重点关注边界条件和潜在的安全问题。"Cursor 会读取文件内容,从逻辑层面分析代码,而不是像 linter 那样只检查语法和风格。它能发现的问题包括但不限于:
- 空指针引用和数组越界
- 异步操作中的竞态条件
- 业务逻辑错误(如折扣计算顺序错误)
- 安全漏洞(如未做输入校验直接拼接 SQL)
# 示例:Cursor 能发现这类逻辑 bugdefapply_discount(price,discount_percent,coupon_code):# 看起来没问题,但 discount_percent 和 coupon_code 可能同时生效final_price=price*(1-discount_percent/100)ifcoupon_code:final_price=final_price*0.9# 固定9折,但注释里没说returnfinal_price# Cursor 的 review 可能指出:# "折扣计算有歧义:discount_percent 折扣和 coupon_code 折扣是叠加还是取最优?# 建议明确业务规则后补充注释或重构逻辑。"Review 完成后,你可以让它直接生成修复方案,按Ctrl+K一键应用到代码里。
五、自定义与调优
快捷键
Cursor 的快捷键体系完全兼容 VS Code,你不需要重新学习。在设置 → Keyboard Shortcuts里可以查看和修改所有快捷键绑定。几个核心快捷键:
| 操作 | Windows | macOS |
|---|---|---|
| AI 对话 | Ctrl+L | Cmd+L |
| 编辑器内改代码 | Ctrl+K | Cmd+K |
| Composer 多文件生成 | Ctrl+I | Cmd+I |
| 接受补全 | Tab | Tab |
| 拒绝补全 | Esc | Esc |
| 撤销 AI 修改 | Ctrl+Z | Cmd+Z |
模型偏好设置
在Settings → Models里可以设置默认模型、API 端点和 Key。如果你想用自己的 API Key(比如接公司的大模型网关),在这里配置即可。
.cursorrules:给项目定义 AI 行为规范
这是 Cursor 里一个被严重低估的功能。在项目根目录创建一个.cursorrules文件,可以为这个项目定义 AI 的行为规范。
# .cursorrules # 本项目的 AI 协作规范 ## 语言 - 所有注释和文档使用简体中文 - 变量和函数命名使用英文 ## 代码风格 - 使用 4 空格缩进 - 不允许使用 eval() 和 exec() - 所有 async 函数必须加 try/catch - 禁止 magic number,定义为具名常量 ## 函数规范 - 单个函数不超过 50 行 - 超过 30 行必须加 docstring - 函数名使用 snake_case ## 测试要求 - 所有新增函数必须有对应的单元测试 - 测试覆盖率不低于 80%.cursorrules文件可以放进 Git,团队成员 clone 项目后,Cursor 会自动加载这个规则文件。效果是:团队里所有人用的 AI 行为标准统一了,不会出现张三的 AI 用中文注释、李四的 AI 用英文注释这种混乱。
六、和 Copilot / Claude Code 的横向对比
| 维度 | Cursor | GitHub Copilot | Claude Code |
|---|---|---|---|
| 产品形态 | AI 原生编辑器 | IDE 插件 | 命令行工具 |
| 上下文窗口 | 项目级 | 文件级 | 全仓库 |
| 多文件编辑 | ✅ | ❌ | ✅ |
| 代码补全 | ✅ | ✅ | ❌ |
| 定价 | 有免费版,Pro $20/月 | 有免费版 | 免费 |
| 上手难度 | 低 | 低 | 中 |
| 适用系统 | Win/Mac/Linux | Win/Mac/Linux | Win/Mac/Linux |
结论:Cursor 适合作为日常开发的主力工具,补全和对话的体验最流畅。Claude Code 适合大型重构和全仓库分析场景,它的上下文窗口最大,但操作方式完全在命令行里,门槛稍高。GitHub Copilot 适合轻量补全场景,如果你的需求就是"补全写过的代码",Copilot 够用了。
三个工具不是互斥的。我自己日常主力用 Cursor,做大型重构时开 Claude Code 窗口配合,Copilot 基本不用了。
七、踩坑实录
Pro 试用到期后功能降级。试用结束后,免费版仍然可以使用基础模型(Claude Sonnet 4 免费版、GPT-3.5 等),核心功能(Tab 补全、Ctrl+L 对话、Ctrl+K 编辑)都在,只是模型质量和每日使用次数有限制。不想付费不影响基础使用。
生成代码有 bug。这是最大的坑。AI 会非常自信地生成错误的代码,特别是边界条件和异常处理的部分。它不会说"我不确定",而是给你一个看起来正确但经不起推敲的答案。所有 AI 生成的代码都需要 review 才能使用,不要跳过这一步。Composer 生成的项目级代码尤其要逐文件审查。
Ctrl+K 改错了。按Ctrl+Z撤回,这个和普通编辑操作一样。但要注意:如果分步操作了多次,每次 Ctrl+Z 只撤回一步,要连续按多次才能完全恢复。
上下文太长导致卡顿。给 Ctrl+L 添加了太多文件作为上下文后,AI 回复会变慢甚至超时不返回。解决方案是只添加最相关的 2-3 个文件,不要把整个项目都扔进去。
.cursorrules 规则不生效。确保文件在项目根目录且文件名完全一致(区分大小写)。规则变更后需要重启 Cursor 或在对话窗口里重新发起对话才能加载新规则。
八、我的使用心得
Cursor 最值钱的不是某个功能,是它把AI 和代码编辑器之间的距离缩短到零。
其他工具的 AI 是独立存在的,你要在脑子里的编程意图和 AI 的输出之间做一次翻译。Cursor 不是,你的代码就是上下文,AI 的修改直接反映在编辑器里,中间没有断层。
但它不是银弹。它让你写代码更快,但不能替你思考架构。如果你的架构设计有问题,AI 会帮你快速实现一个设计有问题的系统——而且实现得比你预期的更快。
最有价值的三个场景:读懂一段陌生代码(扔给 Ctrl+L,让它解释),重复性代码的批量生成(AI 写 while 你 review),以及大段注释和文档的生成(让它对着代码写文档,比自己憋快很多)。
我现在的日常工作是:人定架构和方向,Cursor 写实现细节,review 通过后提交。效率确实翻倍了——不是因为我不用写代码了,而是因为我不用在代码里打那么多字了。打字是最不值钱的编程动作,Cursor 把这部分外包出去了,人的精力应该放在更值钱的地方。
Cursor 降低的不是编程门槛,而是**"把想法变成代码"这一段的摩擦力**。
对于想提升效率的程序员,这是一个值得投入时间配置好的工具。前期花两个小时把快捷键练熟、把 .cursorrules 配好,后面每天都在节省时间。