Cursor 高级技巧:@符号、Chat 模式与多文件编辑

4 阅读7分钟

前言

经过前两天的学习,你已经掌握了 Cursor 的基本用法,能用 Cmd+K 做单文件修改,用 Tab 自动补全代码。但 Cursor 真正强大的地方,在于它构建了一套以 AI 为中心的上下文感知系统——让 AI 不再是"盲写",而是真正理解你的项目结构、你的代码库、你的技术文档。

今天这篇文章,就是要把这些高级技巧一次性讲透。


一、@符号:给 AI 一双"透视眼"

@符号是 Cursor 中最核心的上下文引用机制。用得好不好,直接决定 AI 输出的质量和相关性。

1.1 @Files — 精准定位单个文件

在 Chat 输入框中输入 @files,Cursor 会弹出文件选择器。选择任意文件后,AI 在生成回答或代码时,就会深度理解这个文件的内容

使用场景:

  • 想让 AI 修改某个具体文件时,先 @ 它
  • 想让 AI 基于某个文件生成新代码时,先 @ 它
  • 代码报错时,把报错文件 @ 进去,让 AI 对症下药
@files src/utils/format.ts
帮我把这个文件里的日期格式化函数改成支持时区的版本

1.2 @Folders — 引用整个目录

当需要 AI 理解项目某个模块的全局结构时,用 @folders 引用整个目录。AI 会递归扫描该目录下所有文件,建立起对整个模块的认知。

使用场景:

  • 重构一个完整的模块前,让 AI 全面了解现有代码结构
  • 新接手一个功能模块,快速了解代码组织方式
  • 需要 AI 生成符合项目既有架构风格的新代码

1.3 @Code — 精准引用代码片段

@code 是最精准的引用方式。你可以在 Cursor 中选中任意代码片段(可以是多文件中的不连续片段),让 AI 只基于这些选中的代码来理解和生成。

使用场景:

  • 多个文件中的关键逻辑需要 AI 综合理解
  • 只想让 AI 参考某段特定的算法实现
  • 避免 AI 引用过多无关代码造成干扰

1.4 @Docs — 实时查询官方文档

@docs 是 Cursor 的杀手级功能。它能实时联网查询你指定技术栈的官方文档,确保 AI 生成的代码符合最新官方规范,而不是基于过时或幻觉知识。

使用场景:

  • 用 React 新特性前,查一下 React 官方文档
  • 使用某个库的新 API,确认参数和返回值
  • 不确定某个语法是否正确时,让 AI 去 docs 里核实

💡 小技巧:在输入 @docs 后,可以直接输入库名(如 reactnumpypytorch),Cursor 会自动匹配对应文档。

1.5 @Git — 基于 Git 历史理解代码

@git 可以让 AI 读取项目的 Git 提交历史,了解代码的变更脉络和开发者的意图。

使用场景:

  • 查看某个功能是谁写的、为什么这样设计
  • 理解某次重构的背景和目的
  • 在接手老项目时,快速摸清技术债务的来源

1.6 @Web — 联网搜索最新信息

@web 让 Cursor 具备联网搜索能力,可以查询最新的技术文章、社区讨论、开源项目信息。

使用场景:

  • 查询某个库的最新版用法
  • 搜索 Stack Overflow 上的解决方案
  • 了解某个技术的最新发展趋势

二、Chat 模式:与 AI 深度协作的对话艺术

Cursor 的 Chat 模式不只是简单的问答窗口,它是一个全项目感知的对话环境

2.1 善用上下文累积

Cursor Chat 支持上下文累积效应。在一次对话中,你逐步 @ 了多个文件、多个代码片段后,AI 会综合所有上下文给出答案。这意味着你可以分步引导 AI 理解复杂任务:

第一步:@files src/api/user.ts @files src/models/user.ts
理解了用户数据模型和 API 接口

第二步:
现在帮我设计一个缓存层,优化这两个接口的查询性能

2.2 使用 /.clear 重置对话

当对话变得冗长、上下文混乱时,输入 /clear 重置对话上下文。保持对话简洁,AI 的专注度更高。

2.3 使用 /explain 解释代码

在代码编辑区选中代码,输入 /explain,Cursor 会直接在右侧 Chat 面板给出详细解释。这是读懂他人代码的神器。

2.4 使用 /test 生成测试

选中函数或模块,输入 /test,Cursor 会自动生成单元测试。这个功能背后接入了测试框架理解能力,生成的测试往往可以直接运行。

2.5 使用 /refactor 重构代码

/refactor 专门用于代码重构场景。它会分析选中代码的质量问题(圈复杂度、重复代码、命名不规范等),并给出重构方案。


三、多文件编辑:AI 驱动的大规模代码改造

这是 Cursor 最震撼的功能之一——一次对话,同时修改多个文件

3.1 Agent 模式:自动驾驶式多文件修改

在 Chat 输入框中,将模式切换到 Agent(快捷键:Cmd+Shift+I 打开 Composer 面板),AI 就获得了"自动驾驶"能力:

  • 自动读取需要的文件
  • 自动分析代码关系
  • 自动规划修改方案
  • 自动写入多个文件

这意味着你可以这样说:

帮我把用户认证模块从 JWT 改成 OAuth 2.0,需要改动的文件有:
- src/auth/jwt.ts
- src/middleware/auth.ts
- src/api/user.ts
- src/config/oauth.ts

AI 会自动分析这四个文件的依赖关系,制定修改计划,然后逐一修改。整个过程你只需要确认最终结果。

3.2 Composer 面板:同时管理多个文件

Cmd+Shift+O 打开 Composer 面板,这是 Cursor 的"多文件工作台"。

  • 多标签编辑:同时打开和编辑多个文件
  • 跨文件搜索替换:一次性在多个文件中做同样的修改
  • 变更预览:在提交前预览所有文件的改动,确保无误

3.3 多光标 + AI 协同

Cursor 支持多光标编辑(Alt+点击添加光标),结合 AI 生成代码,可以实现:

  1. 让 AI 生成一段通用逻辑代码
  2. 在多个位置添加光标
  3. 一次性粘贴并适配各地差异

这种"AI 生成 + 多光标粘贴"的组合拳,是处理重复性代码改造的绝招。


四、实战案例:用 Cursor 重构一个登录模块

光说不练假把式,来一个完整的实战场景:

需求: 将现有基于 Session 的登录系统,迁移到 JWT + Refresh Token 方案。

步骤一:用 @folders 引入整个 auth 模块

@folders src/auth
帮我分析现有的认证模块结构

步骤二:用 @docs 查询 JWT 最佳实践

@docs jwt
最新的 JWT 最佳实践是什么?有哪些安全陷阱需要避免?

步骤三:多文件重构

@files src/auth/login.ts @files src/auth/session.ts @files src/middleware/auth.ts
现在请帮我设计 JWT 方案,并逐个修改这三个文件

步骤四:生成测试

/test
为新的 JWT 认证流程生成完整的单元测试

步骤五:验证

用 Composer 预览所有变更,确认无误后提交。

整个过程,传统方式可能需要 2-3 小时,有 Cursor 的加持,核心开发时间可以压缩到 20-30 分钟


五、让 Cursor 越来越懂你的配置技巧

5.1 调整 AI 模型

在 Cursor Settings → Model 中,可以为不同任务选择不同模型:

  • Claude 3.5 Sonnet:复杂代码理解和生成
  • GPT-4o:快速问答和简单修改
  • Cursor Small:日常自动补全(免费额度)

5.2 设置 Rules for AI

在项目根目录创建 .cursorrules 文件,为项目编写专属的 AI 行为规范:

# .cursorrules
- 使用中文注释
- 遵循 Unix philosophy,一个函数只做一件事
- 优先使用 TypeScript 类型推导,避免 any
- 测试覆盖率不低于 80%

有了这套规则,Cursor 生成的所有代码都会自动遵循项目规范,无需每次重复提醒。

5.3 快捷键速查表

功能快捷键
打开 ChatCmd+L
Cmd+K(当前文件编辑)Cmd+K
Composer 面板Cmd+Shift+O
解释代码选中 + /explain
生成测试选中 + /test
重构代码选中 + /refactor

总结

Cursor 之所以被称为"最懂程序员的 AI IDE",不是因为它有最花哨的功能,而是因为它的每一个功能都精准切中了开发者的真实痛点

  • @符号系统:解决 AI 上下文不足的问题
  • Chat 模式:让 AI 成为你的专属技术顾问
  • 多文件编辑:让大规模代码改造从不可能变成可能
  • .cursorrules:让 AI 真正融入你的团队规范

掌握这些技巧,你会发现写代码不再是一场孤独的战斗,而是一场与 AI 协作的愉快对话。