Cursor 完全上手:从安装到用 AI 写出第一个项目(2026)
Cursor 完全上手:从安装到用 AI 写出第一个项目(2026)
Cursor 是目前上手门槛最低的 AI 编程工具——它本质是一个 fork 自 VS Code 的编辑器,你原来的插件、快捷键、主题几乎都能直接迁移过来,但多了一整套围绕 AI 设计的交互。
这篇面向没用过的人,从下载装起,讲到写出第一个能跑的项目。
一、安装与迁移
去 cursor.com 下载对应平台的安装包,装完第一次启动会问你要不要导入 VS Code 的配置——选是。它会把你的扩展、快捷键、设置全搬过来,几乎无缝。
登录后进入设置(Ctrl/Cmd + Shift + J),有两件事要先做:
1. 选模型
设置 → Models。列表里通常有 Claude、GPT、Gemini 系列的多个版本。实用建议:
- 日常写代码:选一个中等档位的模型,速度和质量平衡
- 复杂重构 / 架构设计:临时切到最强的推理模型
- 大批量简单修改:切到快速模型,省额度也省时间
不用纠结,随时可以在对话框里切换。
2. 配置 .cursorrules
这个后面单独讲,但记住它是决定体验好坏的关键。
二、三种 AI 用法,对应三种场景
Cursor 的 AI 能力不是一个功能,是三个层次。搞清楚什么时候用哪个,效率差好几倍。
1. Tab 补全 —— 最高频,最省事
写代码时它会灰字预测你接下来要写的内容,按 Tab 接受。
它比传统补全强的地方在于能跨行、能改已有代码。比如你把一个变量名从 userId 改成 uid,它会预测你接下来要改下面几处,连续按 Tab 就改完了。
这个功能不需要学,写着写着自然就习惯了。
2. Inline Edit(Ctrl/Cmd + K)—— 改选中的这一段
选中一段代码,按 Cmd+K,描述你要改什么:
把这段回调改成 async/await,加上 try-catch
它会在原地给你 diff,接受或拒绝。
适合的场景:改动范围明确、只涉及当前文件的小修改。比如重命名、改写法、加错误处理、补注释。
3. Agent 模式(Ctrl/Cmd + I)—— 让它自己干
这是 Cursor 最强的部分。打开侧边栏,描述一个目标,它会自己决定要读哪些文件、改哪些文件、跑什么命令。
给这个 Express 项目加一个用户收藏功能:
- 新建 favorites 表(sqlite)
- 加 POST /api/favorites 和 DELETE /api/favorites/:id
- 前端在文章详情页加一个收藏按钮
- 参考现有 /api/comments 的写法和风格
它会自己找到 db.js、server.js、对应的模板文件,逐个改,最后给你一份改动清单。
关键技巧:最后那句「参考现有 XXX 的写法」非常重要。给它一个仓库内的参照物,产出的代码风格一致性会好很多。
三、.cursorrules:把项目规矩写下来
在项目根目录建一个 .cursorrules 文件,Cursor 每次会自动加载。这相当于给 AI 的项目说明书。
一份实用的例子:
# 项目约定
## 技术栈
- Node.js 22 + Express(ESM,package.json 里 type: module)
- 模板引擎 EJS,没有前端构建链,不要引入 webpack/vite
- 数据库用 node:sqlite(Node 内置),禁止引入 better-sqlite3 等原生依赖
## 代码风格
- 单引号,2 空格缩进
- 异步统一用 async/await,不要用 .then 链
- 错误处理:路由里 try-catch,统一 res.status(500).json({ error: msg })
## 目录约定
- 页面路由写在 server.js
- 数据库操作全部封装在 db.js 里导出函数,路由里不直接写 SQL
- 模板放 views/,静态资源放 public/
## 禁止
- 不要改 data/ 下的任何文件
- 不要自作主张加 TypeScript
- 不要在没被要求的情况下加单元测试文件
经验之谈:「禁止」部分比「应该」部分更有价值。AI 的默认行为大多合理,真正需要约束的是它会想当然做的那些事。
四、@ 符号:精准控制上下文
在对话框里输入 @,可以精确指定它该看什么:
@文件名—— 引用某个文件@文件夹—— 引用整个目录@Codebase—— 让它在整个仓库里语义搜索@Docs—— 引用官方文档(可以自己添加文档链接)@Web—— 让它联网搜索
实际用法:
参考 @db.js 里 listPosts 的写法,
按 @views/blog.ejs 的模板结构,
新增一个按标签筛选文章的功能
比起让它自己 @Codebase 到处找,明确指定文件更快也更准,尤其是大仓库。
五、动手:从零做一个待办清单
走一遍完整流程,感受一下节奏。
第 1 步:建目录,写 .cursorrules
mkdir todo-app && cd todo-app
在编辑器里建 .cursorrules:
纯前端项目,只用原生 HTML + CSS + JavaScript,不要任何框架和构建工具。
所有代码放在 index.html、style.css、app.js 三个文件里。
数据存 localStorage。
UI 要简洁,支持深色模式,移动端可用。
第 2 步:Agent 模式,一句话起项目
Cmd+I 打开 Agent:
做一个待办清单应用:
- 添加、完成、删除待办
- 按「全部 / 未完成 / 已完成」筛选
- 数据存 localStorage,刷新不丢
- 顶部显示剩余未完成数量
它会创建三个文件并写好代码。
第 3 步:跑起来看
python -m http.server 8000
浏览器打开 localhost:8000。
第 4 步:迭代
看到问题就直接说,不用自己改:
删除待办的时候加个淡出动画,200ms
移动端上输入框太窄了,小于 480px 时改成上下布局
加一个「清除所有已完成」按钮,放在筛选栏右边
第 5 步:出问题让它自己修
控制台报错了?直接把报错贴进去:
点筛选按钮报错:Uncaught TypeError: Cannot read properties of null (reading 'classList')
它会定位并修好。
整个过程大概二十分钟,能得到一个真正能用的小应用。
六、几个提效技巧
1. Cmd+L 把选中代码丢进对话
看到看不懂的代码,选中按 Cmd+L,然后问「这段在干什么」。
2. 报错直接贴,别自己转述
把完整的报错堆栈贴进去,比你用自己的话描述准确得多。
3. 让它先说方案再动手
复杂改动前加一句「先别改代码,说说你打算怎么做」。方案对了再让它执行,能避免大范围返工。
4. 用 Checkpoint 回滚
Agent 模式每次改动都有检查点,改坏了可以一键回到之前的状态。大胆试,不怕搞砸。
5. 大仓库先建索引
第一次打开大项目,让它跑完 codebase 索引再开始用 @Codebase,检索质量会好很多。
七、坑与边界
坑 1:它会「改着改着改跑偏」
Agent 模式一次改十几个文件时,容易顺手改一些你没要求的地方。每次改完看 diff,别直接接受全部。
坑 2:额度是有限的
快速请求用完会降级到慢速队列。把 Tab 补全留给日常,把 Agent 留给真正复杂的任务。
坑 3:它不了解你的私有依赖
公司内部的 SDK、私有 npm 包,它没见过。要么把文档喂给它(@Docs 加自定义链接),要么把典型用法写进 .cursorrules。
坑 4:生成的代码要看懂再合
尤其是涉及权限、加密、支付的部分。看不懂就别用,这是底线。
八、Cursor 适合谁
很适合:
- 前端 / 全栈开发者,日常写业务代码
- 需要快速做原型、验证想法的人
- 从别的语言临时切过来、不熟悉语法的人
没那么适合:
- 纯命令行工作流的人(Claude Code 这类 CLI 工具更顺手)
- 需要长时间无人值守跑任务的场景(Agent 需要你频繁确认)
- 完全不会编程的人(它能生成代码,但你得看得懂才能判断对错)
小结
Cursor 的价值不在「替你写代码」,在把「想清楚」和「写出来」之间的距离压缩到几乎为零。
以前你想到一个改动,要花十分钟找文件、改代码、调格式;现在说一句话,十秒钟看 diff。省下来的时间,应该花在想清楚要做什么上——那部分 AI 替不了你。
界面与功能持续更新,请以 Cursor 官方文档为准。本文基于 2026 年 8 月版本整理。