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.jsserver.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 月版本整理。

← 返回博客列表