CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
Vibe Coding 实战入门/课时/Cursor 与 Windsurf
RawBlame
课时目录12 节

Vibe Coding 实战入门

  1. 01Vibe Coding 是什么
  2. 02先规划再编码
  3. 03Cursor 与 Windsurf
  4. 04Claude Code 与 Codex
  5. 05Copilot 与 Gemini
  6. 06v0 与 Lovable
  7. 07技术栈选择
  8. 08提示与上下文
  9. 09调试
  10. 10版本控制
  11. 11测试
  12. 12安全

Cursor 与 Windsurf

IDE Agent 工作流。

30 分钟

Cursor 与 Windsurf

这一课你将能做到

  1. 配置 Cursor 的 Rules(.cursor/rules)让项目约定自动生效
  2. 用 Composer/Agent 模式完成一次多文件功能开发
  3. 说清楚 Cursor 与 Windsurf(Cascade)的核心差异和选型依据

为什么要学

Cursor 和 Windsurf 是目前主流的两款「AI 原生编辑器」——它们不是给编辑器加了个聊天窗口,而是把 AI 深度集成进编辑、检索、终端、多文件修改的每一步。2024 年以来,大量团队把主力 IDE 从 VS Code 迁到这两款工具上。

人话:Copilot 是「副驾帮你补全一句话」,Cursor/Windsurf 是「你口述需求,它直接改十个文件」。掌握它们的核心不是学快捷键,而是学会管理上下文——让 AI 在正确的文件、带着正确的约定干活。

这两款工具都是 VS Code 的分支(fork),你的插件、快捷键、设置基本能无缝迁移,学习成本主要在 AI 功能的使用模式上。

先建立图像

Cursor 的三层能力:
┌─────────────────────────────────────┐
│ Tab 补全:预测你下一步要改什么        │ ← 写代码时
│ Chat(Ctrl+L):问答、解释、生成片段  │ ← 问问题时
│ Composer/Agent(Ctrl+I):跨文件改动  │ ← 做功能时
└─────────────────────────────────────┘
        ↑ 全部受 Rules 文件约束

Windsurf 对应:
Tab 补全 / Chat / Cascade(Agent 模式)

跟着做

步骤 1:安装与迁移

从官网下载 Cursor(cursor.com)或 Windsurf(windsurf.com)。首次启动时两者都会提示「从 VS Code 导入」,一键带入你的插件、主题、快捷键。

步骤 2:配置项目 Rules

在项目根目录创建 .cursor/rules 目录,放一个 backend.mdc 文件:

---
description: 后端代码约定
globs: **/*.java
alwaysApply: false
---

- 使用 Spring Boot 3 + MyBatis-Plus
- 接口返回统一用 Result<T> 包装
- 所有时间字段用 LocalDateTime
- 禁止在 Controller 写业务逻辑,必须走 Service 层
- 新增依赖前先说明理由,等确认

头部 globs 决定规则作用于哪些文件,alwaysApply: true 的规则每次对话都带上(放全局约定,比如「用中文回复」)。Windsurf 的对应机制是 .windsurf/rules 目录和 Memories,概念相同。

步骤 3:用 Chat 做一次代码理解

打开一个不熟悉的类,按 Ctrl+L(Windsurf 是 Ctrl+L 或点击 Chat),输入:

@OrderService.java 这个类的职责是什么?
createOrder 方法的完整调用链是怎样的?

@ 符号是关键——它显式把文件加入上下文。还可以 @ 文件夹、文档、终端输出。不 @ 文件就提问,AI 只能靠猜,这是初学者输出质量差的第一大原因。

步骤 4:用 Composer/Agent 做一次多文件功能开发

按 Ctrl+I 打开 Composer(Cursor 新版叫 Agent),输入:

给文章模块加一个「置顶」功能:
1. Article 表加 is_top 字段(给建表迁移 SQL)
2. 列表查询按 is_top 降序、created_at 降序排列
3. 加 PUT /articles/{id}/top 接口切换置顶状态
涉及 entity、mapper、service、controller 四层,遵守项目 rules

AI 会列出要改的文件和每处的 diff。逐个确认(Accept)或拒绝(Reject),确认后代码直接落盘。

步骤 5:用 Cascade 体验 Windsurf 的 Agent 流

Windsurf 的 Cascade 会自己拆解步骤:先检索相关文件,再规划修改,逐步执行,每步可以暂停检查。做同一个「置顶」功能,观察它和 Cursor 的流程差异:Cascade 的「计划步骤」展示得更显性,适合喜欢盯流程的人。

步骤 6:验收与回滚

改动完成后:

  1. 让项目编译通过(AI 可以帮你跑终端命令)
  2. 启动服务,用 Postman 把三个接口各调一遍
  3. 不满意就 git checkout -- . 回到上一个提交点——这就是「Git 与 AI 协作」一课强调的:AI 改动前先保证工作区干净。

讲清楚要点

  1. Rules 是这类工具的灵魂:没有 Rules,AI 每次都在猜你的约定;有了 Rules,约定自动注入每轮对话。Rules 文件要进 Git,团队共享。
  2. @ 显式引用优于 AI 自动检索:自动检索(codebase indexing)方便但可能漏掉关键文件或带入无关文件。重要改动,手动 @ 明确范围。
  3. Agent 模式的 diff 审查不可跳过:逐文件看 diff 再 Accept,一键全部接受等于放弃把关权。
  4. Tab 补全的价值被低估:它学习你的编辑模式,重复性改动(重命名联动、补相似代码)效率极高,而且不产生「生成一大段要审查」的负担。
  5. Cursor vs Windsurf 选型:两者能力高度重叠。Cursor 生态更大、迭代快、模型选择多;Windsurf 的 Cascade 流程可视化和定价有优势。个人开发者两款都试用一周再定;团队选型主要看采购与安全合规(代码是否出站、是否支持私有部署模型)。

你可能会懵的地方

  • Cursor 会自动读我整个代码库吗?安全吗? Cursor 会对代码库建索引(embeddings)用于检索,代码片段会发送到你选用的模型服务商。敏感项目:开启 Privacy Mode(不保留代码)、或用支持私有部署的模型方案。公司代码先过安全合规再谈效率。

  • Rules 和每次在聊天里重复要求有什么区别? 聊天里说的是一次性的,下个会话就没了;Rules 是持久注入的。而且 Rules 有 glob 匹配,可以「Java 文件用这套约定,前端文件用那套」。

  • Agent 改了一半我觉得方向不对,怎么办? 直接中断,Reject 所有未接受的 diff,git 恢复到干净状态,修正提示词(通常是上下文缺失)后重开。不要让它「将错就错改下去」。

  • Cursor 里选哪个模型? 日常用各家旗舰模型(Claude、GPT 系列)都可以,复杂重构用推理能力强的模型,简单补全用快模型省钱。模型能力迭代极快,以 Cursor 设置里当前可选列表为准。

  • 免费的 VS Code + Copilot 能不能替代它们? Copilot 的 Agent 模式在快速追赶,基础场景重叠度越来越高。差异主要在上下文管理的精细度、Tab 补全质量和多模型选择。预算敏感的团队用 Copilot 也能覆盖 70% 场景。

错法对照

错法问题正解
不 @ 文件直接问「这个 bug 在哪」AI 盲猜整个代码库@ 相关文件/目录,缩小范围
Rules 写几百行散文关键约定被淹没,AI 抓不住分文件、条目化、每条一句话
Agent 一次提十个需求改动面失控,diff 没法审一次一个功能,验收后再下一个
全部 Accept 不看 diff幻觉代码直接进仓库逐文件审查,重点看 import 和 SQL
在脏工作区跑 Agent手改和 AI 改混在一起无法回滚先 commit,再让 AI 动手

卡点急救

  1. AI 改完编译不过:把编译错误完整贴进 Chat,说「修复这些编译错误」,这类问题 AI 修复率极高。
  2. 检索不到刚创建的文件:代码库索引有延迟。手动 @ 该文件,或重建索引(Cursor: Settings → Features → Codebase Indexing → Resync)。
  3. Agent 陷入「改 A 弄坏 B,改 B 弄坏 A」的死循环:停止会话,git 回滚,把 A 和 B 两个文件都 @ 进去,一句话说清两者的约束关系,重新生成。

面试常问

  • 你们团队怎么用 AI 编辑器?如何统一规范? 高分回答:Rules 文件进版本库统一管理,按技术栈分文件(backend.mdc / frontend.mdc);新人 onboarding 直接继承全套约定;定期回顾 AI 产出中的典型错误反哺 Rules(比如 AI 总爱用某个过时 API,就加一条禁止规则)。

  • AI 编辑器生成代码的知识产权和保密怎么控制? 开 Privacy Mode 或企业版(不用于训练);评估模型服务商的数据政策;涉密代码走内网部署的开源模型方案;Rules 里明确禁止把密钥、内部域名写入提示词。

  • Agent 模式重构老项目时要注意什么? 先保证测试覆盖或至少能编译验证;小步快跑,一次重构一个模块;每步 git 提交,回滚成本低才敢让 AI 放手改。

自测三问

  1. .cursor/rules 里 globs 和 alwaysApply 两个字段分别控制什么?
  2. 为什么 Agent 模式改动前要确保 git 工作区干净?
  3. 团队选型 Cursor / Windsurf / Copilot 时,除了功能还要评估哪两个维度?

小结一句话

编辑器级 AI 的核心不是生成代码,而是管理上下文——Rules 定规矩,@ 定范围,diff 审查定质量。

延伸

  • Cursor 官方文档:Rules
  • Windsurf 官方文档:Cascade
  • 下一课:Claude Code——终端里的 Agent,CLAUDE.md 与 Plan 模式。
加载本节练习…
← 上一课先规划再编码下一课 →Claude Code 与 Codex