小维的学习笔记和工具

Cursor 入门笔记:一个程序员的 AI 编辑器初体验

说实话,Cursor 这个名字在我耳边已经响了快两年了。

最早是 2024 年,刷 Twitter 看到有人说“用了 Cursor 再也回不去 VS Code”。然后是 2025 年,朋友圈开始有人晒“AI 自动写代码”的截图。再到今年,连我们技术群里都在讨论“氛围编程”(vibe coding)——据说描述一下需求,AI 就能把整个项目搭起来。

但我一直没动手。

原因也简单:VS Code 用得好好的,Copilot 也够用,总觉得再换编辑器是折腾。再加上 Cursor 这名字听着像某个小众工具,谁知道会不会用两天就弃坑。

直到上个月,有个同事用 Cursor 半天重构了一个我拖了两周的模块。我站在他身后看着——他就敲了几行注释,按了几下 Tab,代码自己蹦出来了。那个瞬间我意识到:不是我够用,是我不知道什么是“更好用”

于是决定花一周时间,从零开始认真学一遍 Cursor。这篇笔记就是我这周的记录,全是亲测,没有废话。

一、Cursor 到底是什么?

1.1 一句话说清楚

Cursor 是一个内置了顶级 AI 能力的代码编辑器。它长得和 VS Code 一模一样,因为它本身就是 VS Code 的一个分支。这意味着:你用 VS Code 的习惯、快捷键、插件,在 Cursor 里全都能用。

不同的是,Cursor 把 AI 从“插件”变成了“内核”。Copilot 是装在编辑器里的助手,而 Cursor 的编辑器本身就是为 AI 设计的

1.2 为什么它这么火?

几个数字可以说明问题:

  • 增长速度:Cursor 从零到 10 亿美元年度经常性收入(ARR),只用了 24 个月——这是 SaaS 史上最快的纪录
  • 资本追捧:2025 年 11 月完成 23 亿美元融资,估值飙到 293 亿美元,英伟达、谷歌都在抢着投
  • 用户渗透:英伟达 CEO 黄仁勋公开说,希望公司 4 万名工程师都用 Cursor。OpenAI、Spotify、Uber 这些公司的团队也在用

为什么这么火?因为 Cursor 踩中了一个关键的节点:模型能力刚好强到“能辅助但不能独立”,而 Cursor 把“人+AI”的协作体验做到了极致

1.3 和 Copilot 有什么区别?

维度GitHub CopilotCursor
定位VS Code 插件独立的 AI 原生编辑器
交互方式自动补全为主聊天、内联指令、Agent 自主执行
上下文理解当前文件或选区全项目代码库
任务执行建议代码,手动应用可自动修改多文件、跑测试、修 bug

说白了,Copilot 是“你写代码它补全”,Cursor 是“你说需求它干活”

二、安装与初始化(十分钟上手)

2.1 下载

官网 https://cursor.sh/ 直接下,支持 Windows、macOS、Linux

我是 Windows 本,下载的是 .exe 安装包,两百多兆,两分钟装完。

2.2 登录

第一次打开会提示登录。可以用 Google、GitHub 或者邮箱注册。免费版每个月有 200 次 AI 调用,足够新手尝鲜。Pro 版 20 美元/月,不限次数

2.3 从 VS Code 迁移(如果你在用)

Cursor 最贴心的一点:第一次启动时,会自动检测你有没有装 VS Code,问你要不要导入插件、配置、快捷键。我点了“是”,重启后打开 Cursor——界面、主题、插件全都在,完全无缝

如果你没用过 VS Code,直接默认配置就行,后面可以慢慢调。

三、核心功能:三个最常用的操作

3.1 Chat:全局问答(快捷键:Cmd+L / Ctrl+L)

右边会弹出一个聊天面板,这是和 AI 对话的主战场

我能问什么?

  • “帮我解释这段代码是什么意思”
  • “这个项目的核心逻辑是什么”(拖拽整个文件夹进去)
  • “写一个 Python 脚本,把当前目录下的所有 .log 文件按日期归档”

实测例子
我把自己一个老项目的文件夹拖进 Chat,输入“这个项目是干什么的?画个架构图说明”。AI 扫了一遍代码,给我生成了:

  • 项目整体描述(Express + React + MongoDB)
  • 核心模块列表
  • 数据流转图(文字版)

省了我自己翻半小时代码的时间。

小技巧:用 @ 符号可以引用特定文件、文件夹,甚至 GitHub 仓库,让 AI 理解更多上下文

3.2 Inline:内联指令(快捷键:Cmd+K / Ctrl+K)

这是我最常用的功能。选中一段代码,按 Cmd+K,弹出一个小输入框,直接说你想干啥

常用指令

  • “重构这个函数,用 async/await 替代 Promise.then”
  • “加错误处理”
  • “改成 TypeScript”
  • “写单元测试”
  • “解释这段代码在干什么”

AI 会直接修改你选中的代码,并以 diff 形式显示改动——绿色是新增,红色是删除。按 Tab 接受,按 Esc 拒绝

实测例子
有一段老代码:

javascript

function processData(d) {
  let r = [];
  for (let i = 0; i < d.length; i++) {
    if (d[i] > 10) {
      r.push(d[i] * 2);
    }
  }
  return r;
}

选中,按 Cmd+K,输入“用数组方法重写”。AI 直接改成:

javascript

function processData(d) {
  return d.filter(x => x > 10).map(x => x * 2);
}

按一下 Tab,搞定。

3.3 Tab:智能补全

Cursor 的自动补全比 Copilot 更“懂你”。你写一行注释,它可能直接把整段代码补出来。

比如我写:

python

# 读取 sales.csv,按月份统计销售额,画柱状图

刚敲完注释,AI 自动补全了下面这段:

python

import pandas as pd
import matplotlib.pyplot as plt

df = pd.read_csv('sales.csv')
df['月份'] = pd.to_datetime(df['日期']).dt.month
monthly = df.groupby('月份')['销售额'].sum()
monthly.plot(kind='bar')
plt.show()

不是我写的,是它猜的。而且猜对了。

四、进阶玩法:从“助手”到“代理”

Cursor 1.0 的核心是“Chat + Tab”,也就是你问它答、你写它补。但 Cursor 2.0 发布后,玩法变了

4.1 什么是 Agent 模式?

简单说:Agent 模式让 AI 从“给建议”升级到“自己动手”

在传统模式下,你说“帮我重构这个模块的错误处理”,AI 给你一段代码,你自己复制粘贴、手动改文件。在 Agent 模式下,你说同样的话,AI 会:

  1. 扫描整个项目,找出所有相关的文件
  2. 分析现有的错误处理模式
  3. 生成统一的修改方案
  4. 自动修改所有需要的文件
  5. 跑测试验证,有问题自动回滚

一句话总结:以前 AI 是你的“参谋”,现在 AI 是你的“实习生”——派活就行,不用教怎么干。

4.2 Agent 能干什么?

官方数据显示,Agent 模式处理复杂任务的效率比传统模式高 2.3 倍。几个典型场景:

场景传统方式Agent 模式
跨文件重构手动找所有引用,挨个改自动扫描全项目,批量修改
添加新功能自己搭架子、写代码输入需求,AI 生成完整实现
替换废弃 API搜索替换,手动测试自动识别所有调用点,适配新 API

实测例子
我在一个 Express 项目里想把所有 console.log 换成结构化日志。传统做法:全局搜索、挨个改、可能漏掉。用 Agent:打开 Composer(Cmd+I),输入“把所有 console.log 换成 winston 日志,保留原有日志级别”。AI 自己找到 23 个文件里的 47 处调用,全部替换,还自动加了 winston 的 import。整个过程 30 秒

4.3 多 Agent 并行

Cursor 2.0 还支持同时跑多个 Agent——最多 8 个,各自在独立的 Git 分支里干活,最后挑最好的结果合并

有开发者形容:“坐在那看 8 个 AI 赛马,闻到了 token 疯狂燃烧的味道”

五、程序员专用技巧(实测有效)

5.1 注释驱动开发

这是我从 Cursor 学到的最重要的一课:想要 AI 生成得好,先把注释写清楚

❌ 别这么写:

javascript

// 处理数据

✅ 要这么写:

javascript

// 读取 data.json,过滤掉 status=inactive 的条目,按 created_at 倒序排序,取前 10 条
// 输入格式:{ "items": [{ "status": "active", "created_at": "2026-02-20" }] }
// 输出:排序后的数组,直接返回

注释写得越具体,AI 生成的代码越能用。

5.2 把测试用例当“验收标准”

写函数时,先写几个测试用例,让 AI 按用例实现

text

实现一个函数 normalizePhone(phone: string): string
要求:
- 去掉所有非数字字符
- 如果以 86 开头,替换为 +86
- 如果是 11 位数字,格式化为 3-4-4 格式(如 138-1234-5678)
测试用例:
- "138 1234 5678" -> "138-1234-5678"
- "8613812345678" -> "+86-138-1234-5678"
- "0755-12345678" -> "0755-12345678"

AI 生成的函数大概率一次跑通所有用例。

5.3 自定义指令(Commands)

把重复性的操作存成命令,下次直接用

在项目根目录建一个 .cursor/commands.json

json

{
  "commands": [
    {
      "name": "gen-api-test",
      "description": "为 API 接口生成测试用例",
      "prompt": "为 {file} 中的每个接口生成 Jest 测试用例,覆盖正常情况和异常情况"
    },
    {
      "name": "add-logging",
      "description": "添加结构化日志",
      "prompt": "给 {file} 中的所有函数添加 winston 日志,记录入参和返回值"
    }
  ]
}

然后在 Chat 里输入 @gen-api-test 就能调用。

5.4 快捷键速查

操作MacWindows
打开侧边聊天Cmd + LCtrl + L
内联指令Cmd + KCtrl + K
打开 Composer(Agent)Cmd + ICtrl + I
接受建议TabTab
拒绝EscEsc

记不住没关系,我贴显示器上了。

六、避坑指南(我踩过的)

坑1:它还是会“一本正经地胡说八道”

有次让 Cursor 写个加密函数,它自己造了一个“AES-256-CBC-Plus”——看起来像模像样,实际上标准库里根本没这个算法。

教训:安全相关的代码、金融计算、底层系统,必须人工审查。AI 适合写“能跑的代码”,不一定写“对的代码”。

坑2:Agent 改文件前记得提交

Agent 一次性改十几个文件,如果没提交 Git,改完发现有问题想回退就麻烦了。我后来养成习惯:每次用 Agent 前,先 git commit -m "before agent"

坑3:长对话会“失忆”

一个对话窗口用太久,AI 可能忘记项目结构。我现在的做法:一个功能开一个新对话,避免上下文污染

坑4:免费额度不够用

免费版 200 次/月,重度使用几天就没了。Pro 版 20 美元/月,个人开发者可以考虑

七、到底值不值得用?

我的答案是:值得

不是说 Cursor 完美,而是它把“AI 辅助编程”这件事做到了一个新的高度。以前我用 Copilot,感觉是“帮我少敲几个字”;现在用 Cursor,感觉是“帮我想清楚该怎么写”。

几个让我回不去的点:

  • 选中代码按 Cmd+K 直接改,不用切窗口
  • 拖文件夹进去问“这项目是干啥的”,AI 给我画架构图
  • 写注释自动补全整段代码

但也要清楚它的边界:AI 是搭档,不是替代。它不会替你设计架构,不会替你思考业务逻辑,不会替你做技术决策。那些事,还得自己来。

未经允许不得转载:小维的学习笔记和工具 » Cursor 入门笔记:一个程序员的 AI 编辑器初体验