
Cursor写代码:把AI变成真正的结对程序员
先搞清楚:Cursor 到底是什么
我一开始也搞不懂,Cursor 和 GitHub Copilot 有什么区别?不都是写代码时自动补全吗?
用了一段时间后我的理解是:Copilot 更像一个超强的补全插件,而 Cursor 是一个完整的 AI 编程环境。Cursor 本身是一个基于 VS Code 的独立编辑器(界面、快捷键、插件生态几乎都能无缝迁移),它把 AI 深度嵌进了编辑器的每一个环节:
- 你写代码时,它在旁边默默预测下一段;
- 你选中一段代码按快捷键,它能就地改写;
- 你用自然语言描述需求,它能直接在项目里新建、修改多个文件;
- 你提问时,它能“看懂”你整个代码库的上下文,而不是只看你当前打开的文件。
一句话总结:它不是帮你补全一行代码,而是帮你完成一个任务。
上手第一步:安装与基础设置
零基础也别怕,整个过程大概十分钟:
- 到 Cursor 官方网站下载安装包(支持 macOS、Windows、Linux),安装后首次启动会有引导页。
- 引导页里有一项“从 VS Code 导入配置”,如果你之前用过 VS Code,勾上它,主题、快捷键、已装插件基本都能带过来。
- 注册并登录账号。免费账号有日常可用的 AI 额度,用完会降速;具体额度与价格以官方为准。
- 打开一个项目文件夹(File → Open Folder),这一步很关键:只有打开文件夹,AI 才能索引你的整个项目,后续的项目级问答和自动改代码都依赖它。
小提示:第一次打开大项目时,Cursor 会在后台建立代码索引,等右下角索引完成再开始提问,回答质量会明显更好。
四种核心交互:搞懂这个就等于会用 Cursor
我建议你先别急着让 AI“帮你写个项目”,而是把下面四种交互方式各练一遍,这是我踩过坑之后总结的最快上手路径。
| 交互方式 | 触发方式 | 适合场景 | 特点 |
|---|---|---|---|
| Tab 智能补全 | 正常打字,按 Tab 接受 | 补全一行到一小段、测试样例、样板代码 | 最无感、最高频,AI 自动预测 |
| 内联改写 | 选中代码后按 Cmd+K(Windows 为 Ctrl+K) | 重命名、改逻辑、加注释、转写格式 | 就地编辑,改动范围可控 |
| 对话问答 | Cmd+I 打开侧边对话框 | 解释报错、讲原理、问方案 | 能引用文件,适合“问” |
| Agent 自动开发 | Composer / Agent 面板 | 跨多个文件的完整任务 | 能自动读写文件、跑命令 |
我的经验是:任务越大,越往下走;任务越小,越用上面的。 改一个函数名去开 Agent,纯属浪费时间和额度,Tab 或内联改写几秒就搞定。
关键技巧一:用 @ 让 AI 看懂你的项目
直接问“帮我优化这段逻辑”,AI 只能猜你的项目长什么样。加上 @ 引用,答案质量会完全不一样:
@文件名:把某个具体文件塞进上下文;@Codebase:让它搜索并理解整个项目;@Docs:让它引用官方文档(比如你正在用的某个框架);@Git:让它参考提交记录或当前改动。
举个实际提问模板,可以直接抄:
@Codebase 请找出项目里所有直接操作数据库的地方,
不要经过 service 层的列出来,并说明各自在哪个文件。
要点就一个:先给上下文,再提要求。 上下文给得越准,返工越少。
关键技巧二:给项目写规则(Rules),一次配置长期生效
这是我用了之后觉得最“值”的功能。你可以在项目里建一个规则文件(Cursor 中叫 Rules,具体入口以官方界面为准),把你反复强调的要求写进去,之后每次 AI 生成代码都会自动遵守。
比如一个前端项目可以这样写:
- 使用 TypeScript,禁止 any
- 组件写在 src/components 下,一个文件一个组件
- 状态管理统一用项目里已有的方案,不要引入新库
- 涉及金钱的字段一律用整数存储,不要用浮点
- 生成代码时先写注释说明思路,再写实现
你之前每次都要重复交代的话,现在只说一次就够了。规则写得越具体,AI 的输出越稳定——“写得好一点”这种模糊指令是没用的。
关键技巧三:模型怎么选(别纠结,按场景切)
Cursor 里可以随时切换模型,官方的模型列表会持续更新,具体可选项以官方为准。但选择逻辑是通用的,记住这张表就行:
| 场景 | 模型类型 | 原因 |
|---|---|---|
| Tab 补全、小改动 | 响应快的轻量模型 | 追求即时反馈,不需要深度推理 |
| 解释代码、写普通函数 | 均衡型模型 | 速度和质量兼顾,日常主力 |
| 架构设计、复杂 Debug、跨文件重构 | 推理强的旗舰模型 | 慢一点但更少出错,值得等 |
我的默认策略是:平时用均衡模型,遇到卡住的硬骨头再切旗舰模型。全程用旗舰模型,不仅慢,额度也烧得快。
实战:用 Cursor 完成一个小功能的完整流程
以“给已有网站加一个联系表单”为例,这是我实际在用的流程:
第 1 步:先讲清楚背景。 在对话框里用 @Codebase 说明现状:项目用什么框架、路由在哪、有没有现成的表单组件、接口层怎么写。这一步别偷懒,它决定了后面所有产出是否贴合你的项目。
第 2 步:让 AI 出方案,不要直接出代码。 提问:“先别写代码,列出实现这个表单需要改动的文件和步骤,我确认后再动手。” 看方案比看代码省时间得多,方案错了改一句话,代码错了要改半天。
第 3 步:确认后再让 Agent 执行。 方案没问题就让它动手,并要求它只改动列出的文件,不要顺手重构无关代码。
第 4 步:自己审查,别直接跑。 重点看三件事:有没有它偷偷引入的新依赖、有没有硬编码的密钥、错误处理是不是被它省略了。AI 最常见的问题不是写不出来,而是悄悄做了你没授权的决定。
第 5 步:跑起来,报错就带着错误信息让它修。 把完整报错贴进去,并说明“只修复这个问题,不要改动其他部分”。修复类任务一定要加这句限制,否则它容易越改越大。
第 6 步:提交一个干净的 commit。 确认无误后提交。用 Git 管理是底线,AI 写代码出问题时,版本历史就是你的后悔药。
我踩过的坑,你别再踩
- 一上来就让 AI 生成整个项目。 目标太大,产出必然是空壳。拆成小任务,一个个来,每个都验收。
- 不看 diff 就接受改动。 习惯了 Tab 之后很容易不过脑子地一路按下去,建议养成看变更对比的习惯。
- 把 AI 当搜索引擎用。 问“怎么写登录功能”只会得到通用答案;问“在我这个项目里,参照现有的用户模块,怎么加一个登录接口”才是正确姿势。
- 忽略上下文污染。 对话聊得太久,早期的错误结论会被反复引用。一个任务聊乱了就重开一个对话,这是我的铁律。
- 让 AI 写你不理解的代码。 这是最危险的一条。AI 生成的代码你必须能读懂,否则出了安全漏洞你根本发现不了。不确定的地方,直接追问“用大白话解释这段代码在做什么”。
什么时候不该用 Cursor
诚实地讲,它不是万能的:
- 高度依赖精确细节的任务(比如某个冷门库的具体 API),AI 很容易自信地编造,必须以官方文档为准;
- 涉及生产密钥、敏感数据的代码,不要粘贴到任何 AI 工具里,公司的合规要求也要先确认;
- 纯学习场景,如果你的目标是搞懂原理,先自己写、自己查报错,AI 应该在你卡住时出场,而不是替你思考。
常见疑问
免费够用吗? 日常写点小项目、做做练习,免费额度通常够。但如果你每天高强度用 Agent 改代码,额度会消耗得很快。是否付费、价格多少,以官方最新信息为准。我的建议是先用免费额度跑两周,真实感受一下自己的用量再决定。
有代码安全风险吗? 主流 AI 编程工具都提供隐私模式等设置(是否默认开启、具体策略以官方说明为准),开启后代码不会被用于模型训练。如果你在公司项目上使用,务必先确认团队的合规规定。
用 Cursor 会不会让自己的编程能力退化? 会,前提是你就只会无脑接受建议。避免退化的办法很简单:新接触的技术先自己写一遍再让 AI 优化;定期让 AI 解释它写的代码;重要的核心逻辑坚持自己实现,把重复劳动交给它。AI 替代的是体力活,不是判断力。