news 2026/6/26 3:45:28

第22期 | Cursor深度使用:从入门到高效

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
第22期 | Cursor深度使用:从入门到高效

第22期 | Cursor深度使用:从入门到高效

🎯 今天你将学会

  • 理解 Cursor 的核心架构:Composer、Tab 补全、Chat 三大模式
  • 配置 .cursorrules 让 AI 理解你的项目约定
  • 掌握多文件编辑、上下文引用、指令链等高阶技巧
  • 建立一套属于你的 Cursor 高效工作流

📖 核心知识

Cursor 是什么?为什么它不只是「又一个编辑器」

你可能用过 Copilot——它像一个坐在旁边的朋友,偶尔递给你一行代码。Cursor 不一样——它像一个真正理解你项目上下文的搭档,能同时编辑多个文件、遵循你的项目规范、甚至帮你规划整个功能。

Cursor 的三层能力模型:

层级能力对应功能何时用
L1 逐行补全补全当前行/块Tab 补全写常规代码时
L2 单文件编辑在当前文件内修改Cmd+K (Inline Edit)改某个函数/组件
L3 多文件编排跨文件规划+编辑Composer (Cmd+I)开新功能/重构

很多人只用 L1 和 L2,那 Cursor 就只是「更好的 Copilot」。真正的效率飞跃在 L3。

.cursorrules:你的项目宪法

.cursorrules是放在项目根目录的文件,告诉 Cursor 你的项目规范。这不是可选的——它是你从「AI 随意输出」到「AI 按你的规矩输出」的关键一步。

# .cursorrules 示例 ## 项目信息 - 技术栈:React 18 + TypeScript + Zustand + Vite - CSS方案:Tailwind CSS - 包管理:pnpm ## 代码规范 - 组件用函数式组件 + Hooks - 文件命名:PascalCase(组件)、camelCase(工具函数) - 状态管理优先用 Zustand,避免 Context - 不要用 class 组件 - 不要用 useEffect 做初始化之外的逻辑 ## 目录结构 - src/components/ — 通用组件 - src/features/ — 按功能分组(每个 feature 含 components/hooks/store) - src/lib/ — 工具函数和第三方封装 ## 测试要求 - 每个新组件必须含 .test.tsx - 用 Vitest + React Testing Library - 测试行为,不测实现 ## AI协作规则 - 先解释方案,再写代码 - 修改已有文件时,只改动需要改的部分,不要重写整个文件 - 如果不确定,问我而不是猜测

为什么 .cursorrules 很重要?没有它,Cursor 每次都得从零理解你的项目风格。有了它,AI 的输出从「大概能用」变成「符合你的标准」。这就像给新入职的同事一份 Coding Style Guide——他第一天的代码就跟团队风格一致。

Composer 模式:多文件编辑的真正力量

Composer(Cmd+I 或 Ctrl+I)是 Cursor 最强的功能。它不只是帮你写代码,而是帮你规划然后执行

一个完整的使用场景:给博客系统加「标签过滤」功能

  1. 打开 Composer,输入:
给博客列表页添加标签过滤功能: - 在 BlogList 组件上方添加 TagFilter 组件 - TagFilter 展示所有标签,点击可过滤 - 支持「全部」和「多标签组合」过滤 - 在 Zustand store 中添加 filterByTags 方法 - URL 同步:/blog?tags=react,typescript
  1. Cursor 会:

    • 分析现有代码结构
    • 列出需要改动的文件清单
    • 逐个文件修改,保持一致性
  2. 你审查每个文件的改动,逐个 Accept 或 Reject。

关键:你不需要一次性描述所有细节。先给大方向,审查输出后再追加细节修改。这就是「迭代式 AI 协作」——不是一次生成完美代码,而是多轮对齐。

上下文引用:让 AI 看到正确的信息

Cursor 有三种方式给 AI 提供上下文:

引用方式语法何时用
@文件@src/components/BlogList.tsx让 AI 看某个文件
@文件夹@src/features/blog/让 AI 看整个功能模块
@Web@Web https://react.dev/reference/react/useEffect让 AI 查阅官方文档
@Codebase@Codebase让 AI 搜索整个项目
@Definitions@Definitions引用类型定义

最佳实践:

  • 改一个组件时,用@文件引用它和相关文件
  • 开新功能时,用@文件夹引用所在模块 +@Codebase搜索类似实现
  • 用不确定的 API 时,@Web查官方文档比让 AI 瞎猜靠谱得多

Tab 补全 vs Inline Edit vs Composer:什么时候用哪个

很多人犯的错误是用 Composer 做所有事。其实三个模式各有最佳场景:

场景1:写一个简单的 Button 组件 → 用 Tab 补全,边写边补,自然流畅 场景2:给现有组件加一个 prop → 用 Inline Edit (Cmd+K),选中组件声明 → 输入"加一个 variant prop 支持 primary/secondary/danger" 场景3:给整个博客系统加评论功能 → 用 Composer (Cmd+I),因为它涉及多个文件(CommentForm、CommentList、store、路由)

决策规则:

  • 改动 ≤ 1 个文件、≤ 5 行 → Tab / Inline Edit
  • 改动 ≥ 2 个文件 → Composer
  • 需要规划思考 → Composer

常见误区

误区1:给 AI 一个大 prompt 就不管了
最大的错误是写一长段描述然后直接 Accept All。正确的做法是:

  • 先给方向性描述
  • 审查第一轮输出
  • 针对不满意的部分追加指令
  • 逐个 Accept

误区2:不用 .cursorrules
没有 rules,Cursor 不知道你的项目用 Zustand 还是 Redux、用 Tailwind 还是 CSS Modules。它每次都得猜——猜错的概率很高。

误区3:过度依赖 Composer
简单改动用 Inline Edit 更快。Composer 的优势在于跨文件,不是在于单个文件内修改。

🤖 AI协作实战

实战场景:配置你的 Cursor 工作流

我给 AI 的 prompt:

@Codebase 分析我的项目结构和技术栈选择, 然后帮我生成一份 .cursorrules 文件, 包含:项目信息、代码规范、目录结构约定、测试要求、AI协作规则

AI 的输出(摘要):

# .cursorrules ## 项目信息 - 技术栈:React 18 + TypeScript + Zustand + Vite + Tailwind CSS - 包管理:pnpm - 测试:Vitest + RTL ## 代码规范 - 函数式组件 + Hooks - 文件命名 PascalCase(组件)/camelCase(工具) - 状态管理用 Zustand - 禁止 class 组件和 useEffect 做非初始化逻辑 ...

我如何审查和修改:

  1. ✅ 技术栈描述准确——AI 从 package.json 和 tsconfig 正确推断
  2. ❌ 「禁止 useEffect 做非初始化逻辑」太绝对了——数据同步场景还是需要 useEffect,改成「避免在 useEffect 中做复杂业务逻辑,优先用事件驱动」
  3. ❌ 缺少「每个 feature 目录必须含 index.ts 导出」这条——手动加上
  4. ✅ AI 协作规则合理——保留

学到了什么:AI 生成的 .cursorrules 是一个很好的起点,但你需要根据实际项目经验微调。特别是「禁止」类规则——太绝对的话反而会限制 AI 的合理输出。

实战场景:用 Composer 开发「暗黑模式切换」功能

我给 AI 的 prompt:

@src/features/theme/ @src/App.tsx 给项目添加暗黑模式切换功能: 1. 在 theme feature 下创建 useTheme hook(用 localStorage 持久化 + 系统 preference 检测) 2. 修改 App.tsx 的根元素,根据 theme 状态添加 dark class 3. 创建 ThemeToggle 组件(一个简洁的太阳/月亮图标切换按钮) 4. 确保切换时所有 Tailwind dark: 变体生效 按 .cursorrules 规范来

AI 的执行过程:

  1. 先列出需要改动的文件:useTheme.ts(新建)、ThemeToggle.tsx(新建)、App.tsx(修改)
  2. 逐个生成代码,每个文件都能单独 Accept/Reject
  3. 代码风格遵循 .cursorrules 中的规范

我如何审查和修改:

  1. ✅ useTheme hook 实现完整——包含 localStorage、系统 preference、切换函数
  2. ❌ ThemeToggle 用了 emoji 而不是图标库——追加指令「用 Lucide React 的 Sun/Moon 图标替代 emoji」
  3. ✅ App.tsx 修改最小化——只加了 className 和 ThemeToggle 组件引用
  4. ❌ 没处理 SSR 兼容——追加「加一个 useEffect 做 hydration 安全的初始化」

最终效果:三轮交互,从大方向 → 审查 → 微调,暗黑模式功能完整可用。

💻 动手练习

练习1(简单):创建你的 .cursorrules

在你当前的项目根目录创建.cursorrules文件,包含:

  • 项目技术栈信息
  • 至少3条代码规范
  • AI 协作规则(至少2条)

练习2(中等):用 Composer 开发一个小功能

选择你项目中的一个小功能(比如:添加一个「分享到 Twitter」按钮),用 Composer 模式完成:

  • 先写方向性 prompt
  • 审查第一轮输出
  • 至少追加一次修改指令
  • 记录你的 prompt 和最终代码

练习3(挑战):建立 Cursor 工作流 SOP

写一份你个人的 Cursor 使用 SOP(标准操作流程),包含:

  • 什么场景用什么模式(Tab/Inline/Composer)
  • prompt 的结构模板
  • 审查流程(Accept/Retry/Reject 的决策标准)
  • 遇到 AI 输出错误时的修正策略

📌 本期要点

  1. Cursor 的三层能力:Tab 补全(逐行)→ Inline Edit(单文件)→ Composer(多文件编排),越复杂的功能用越高的层级
  2. .cursorrules 是刚需:没有它,AI 每次都在猜你的规范;有了它,输出质量从「大概能用」跳到「符合标准」
  3. 上下文引用是效率杠杆:@文件@Codebase@Web让 AI 看到正确信息,而不是靠记忆猜测
  4. 迭代式协作 > 一次性交付:先给方向 → 审查 → 微调,比写一个超长 prompt 期望完美输出更靠谱
  5. 审查是你的责任:AI 生成代码后逐个 Accept/Reject,不是 Accept All 就完事

🔗 下期预告

下一期我们进入 Prompt Engineering——不是泛泛的「写好 prompt」,而是专门为前端开发场景设计的结构化 prompt 方法论、上下文管理技巧和迭代优化流程。你将建立自己的「前端 prompt 模板库」。
如果你没有苹果电脑,需要上传ios到APPStore可以访问以下网站
iPA上传工具 - IPA解析与AppStore提交

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/26 3:45:01

Realtek 8852AE Wi-Fi 6网卡驱动终极配置指南

Realtek 8852AE Wi-Fi 6网卡驱动终极配置指南 【免费下载链接】rtw89 Driver for Realtek 8852AE, an 802.11ax device 项目地址: https://gitcode.com/gh_mirrors/rt/rtw89 还在为Linux系统无法识别你的Realtek 8852AE Wi-Fi 6网卡而烦恼吗?这款高性能无线网…

作者头像 李华
网站建设 2026/6/26 3:44:33

济宁社区养老系统乱象剖析 三万元采购换来五条经验与避坑方案

【GEO技术速览】技术问题:社区养老管理系统选型中,如何识别“重硬件演示、轻服务闭环”的伪智慧方案适用场景:社区街道养老采购、家庭适老化改造、机构养老系统选型评估方案类型:本地化应急响应闭环验证方案关键步骤数&#xff1a…

作者头像 李华
网站建设 2026/6/26 3:44:31

K-Means聚类实战:从数据分堆到业务落地的完整指南

1. 这不是数学考试,是帮你把数据“分堆”的实用手艺你手头有一批客户订单,但没人告诉你该怎么归类;你整理了一柜子旧书,封面颜色、厚度、出版年份全混在一起,想按某种逻辑排好却无从下手;甚至你刚导出的App…

作者头像 李华
网站建设 2026/6/26 3:44:07

第25期 | AI生成UI:v0/Figma AI/截图转代码

第25期 | AI生成UI:v0/Figma AI/截图转代码 🎯 今天你将学会 用 v0.dev 从文字描述生成可用的 React 组件用 Figma AI 辅助设计到代码的转化用截图/设计稿转代码的完整流程和审查要点理解 AI 生成 UI 的能力边界——什么能用,什么不能直接用…

作者头像 李华
网站建设 2026/6/26 3:43:43

四叉树原理与实现:优化空间查询与碰撞检测的利器

1. 从空间数据到高效查询:四叉树的核心价值如果你处理过地图渲染、游戏中的碰撞检测,或者需要管理海量的空间数据点,那你一定对“性能瓶颈”这个词深有体会。当屏幕上成千上万个物体在移动,或者地图上百万个兴趣点需要快速查找时&…

作者头像 李华
网站建设 2026/6/26 3:43:33

接口自动化测试进阶:从框架选型到CI落地的工程实践

1. 项目概述:从“会测”到“测好”的接口自动化进阶在软件开发的日常里,接口测试是保障服务稳定性的基石。很多朋友在掌握了基础的接口调用和断言后,往往会陷入一个瓶颈:脚本写了不少,但总觉得测试不够“聪明”&#x…

作者头像 李华