AI时代前端工程师实战指南:Cursor实战
AI时代前端工程师实战指南:Cursor实战
学会 Cursor 的正确打开方式,从”只会 Tab 补全”到”熟练使用 Agent 模式”。在开始之前,先了解 Cursor 的两个重要配置文件:.cursorrules(项目根目录)和 .cursor/rules/*.mdc(.cursor/rules/ 目录),它们决定了 AI 的行为规范。
3.1 三种模式与使用场景
Cursor 有三种交互模式,分别对应不同场景:
| 模式 | 触发方式 | 最佳场景 | 不要用它做 |
|---|---|---|---|
| Tab 补全 | 自动触发(灰色提示文字按 Tab) | 写已知模式的代码、重复性编码 | 复杂逻辑、跨文件操作 |
| Ctrl+K (Inline Edit) | 选中代码后按 Ctrl+K | 修改单段代码、解释代码、重构函数 | 创建新文件、多文件修改 |
| Ctrl+I (Composer) | Ctrl+I | 这是 Cursor 的核心能力 | 简单改一行变量名(Tab 更快) |
Composer 有两种子模式:Normal(对话式,你一步步引导)和 Agent(自主式,AI 自己规划执行)。
选型决策树
1 | 我想让 Cursor 做什么? |
3.2 Agent 模式完全指南
Agent 模式是 Cursor 和 VS Code + Copilot 的本质区别。
Agent 能做什么
- 自动读取多个文件来理解上下文
- 创建、修改、删除文件
- 在终端运行命令(
npm install、git commit等) - 自主规划步骤并执行
Agent 不能做什么
- 不能记住上次会话的内容(每次启动都是新会话)
- 不能保证生成的代码 100% 正确(需要你验证)
- 不能用自然语言理解复杂的业务逻辑(它不理解你的业务,只理解代码)
Agent 模式的最佳实践
1 | ✅ 好的 Agent Prompt 结构: |
关键技巧:用 @ 精准控制上下文
| 指令 | 用法 | 作用 |
|---|---|---|
@File |
@src/components/Button.tsx |
引用特定文件 |
@Folder |
@src/components/ |
引用整个文件夹 |
@Code |
@Code(变量名或类型) |
引用代码中的特定符号 |
@Docs |
@Docs Vue |
引用官方文档(需要先添加文档源) |
@Web |
@Web React 19 新特性 |
联网搜索(Composer + Agent 模式可用) |
@Terminal |
在 Composer 中 | 引用终端输出来辅助 Debug |
@Problems |
在 Composer 中 | 引用 LSP 错误列表 |
配置 @Docs:Settings → Features → Docs → Add Doc,可以添加 Vue、React、Tailwind 等官方文档源。之后在对话中 @Docs Vue 就能引用最新的官方文档。
3.3 Debug 最佳实践
直接把报错信息贴给 AI 是最差的 Debug 方式。
Debug 的正确姿势
1 | ❌ 错误方式: |
Debug 的四个层次
| 层次 | 做法 | 效果 |
|---|---|---|
| L1 | 贴报错信息 | 20% 能解决,通常是因为缺少上下文 |
| L2 | 贴报错 + 相关代码 | 60% 能解决,AI 能看到上下文 |
| L3 | 贴报错 + 代码 + 你怀疑的原因 | 80% 能解决,AI 可以验证你的假设 |
| L4 | 让 Cursor Agent 自己复现问题 | 90% 能解决,Agent 可以运行代码、加日志、定位根因 |
L4 示例:
1 | 这个组件有个 bug:在筛选条件变化后,列表数据没有刷新。 |
3.4 用 Cursor 理解遗留代码
面对一个陌生的大型代码库,不用从头读到尾。
1 | 请帮我理解这个文件夹的结构和功能: |
理解代码的三个层次
| 层次 | 做法 | 能做什么 |
|---|---|---|
| 宏观 | @Folder + 问”这个模块是做什么的” |
理解模块职责和文件结构 |
| 中观 | @File + “解释这个组件的逻辑” |
理解单个文件的职责 |
| 微观 | 选中代码 + Ctrl+K “解释这段逻辑” | 理解具体实现细节 |
3.5 Cursor 配置
.cursorrules 文件(项目根目录)
.cursorrules 是 Cursor AI 的行为配置文件。放在项目根目录,Cursor 会自动读取。
必配内容:
- 项目的技术栈(框架、语言、构建工具)
- 代码风格偏好
- 项目结构约定
- 命名规范
以下是一个完整的 .cursorrules 配置示例:
1 | # .cursorrules — Cursor 项目规则文件 |
.cursor/rules/*.mdc(新版规则系统)
Cursor 新版支持按文件路径匹配的规则。
1 | .cursor/rules/ |
每个 .mdc 文件头部可以定义匹配规则:
1 |
|
以下是一个完整的 .mdc 规则文件示例:
1 | # 新版 Cursor 规则文件 (.mdc 格式) |
3.6 常见陷阱
| 陷阱 | 表现 | 原因 | 解决 |
|---|---|---|---|
| Context 溢出 | AI 开始胡言乱语 | 对话太长,超出上下文窗口 | 开新会话,上下文精简 |
| Agent 循环 | Agent 陷入死循环改同一个文件 | 目标不明确或约束不足 | 终止后重新明确限制条件 |
| 幻觉 API | AI 用了不存在的 API/配置 | 知识截止日期前的 API 变化 | 开启 @Docs 或 @Web 模式 |
| 过度修改 | Agent 改了你不希望改的文件 | 没有在 Prompt 中指定范围 | 明确 “请不要修改 xxx 文件” |
| 代码不一致 | 新代码风格和项目不一致 | 没有配置 .cursorrules | 配置 .cursorrules 文件 |