@ 命令是一个很有用的工具,核心就是为 AI 聊天添加更加具体的上下文信息。
在 Chat 窗口输入 @ 时,可以看到很多选项。可以这样使用 @ 命令:
- 在输入框中输入 @
- 用上下键选择你想要的命令
- 按 Enter 键确认

1. Files&Folders
引用项目中的特定文件与文件夹来作为上下文。如果要引用文件,直接将文件或文件夹拖拽到 Chat 窗口会更方便。

2. Code
如果要 引用代码片段,最方便的方式是在编辑器中选择代码,然后按Command + i 添加到Chat 窗口。相比使用@Code命令,这种方式更直观,也更方便。

3. Docs
获取官方文档或者第三方文档信息。
4. Git
在 Cursor 中,可以使用 @Git 相关的特殊指令来分析当前项目的 Git 变更情况、比较分支内容、以及查看未提交的文件状态。这些符号让 AI 可以更好地理解当前代码的变化上下文。
@Commit:引用当前工作状态的改动
使用 @Commit,你可以让 AI 告诉你 当前工作区 与 最近一次提交(HEAD) 之间的“未提交变更”。
- 包括 新增的文件、修改过的文件 和 已删除的文件[!note]例如:你在当前项目中修改了
login.js和auth.js,尚未提交,现在想知道这两处的改动有没有问题。你可以对 AI 说:请帮我检查一下 @Commit 中的改动有没有潜在的问题,比如逻辑错误或代码风格不统一。AI 会读取尚未提交的变更,并反馈比如:- “
auth.js中的错误处理逻辑存在重复” - “
login.js的登录判断条件可能导致空密码通过验证”
- “
@Branch:对比当前分支与主分支的差异
使用 @Branch,可以查看当前分支与主分支(如 main)之间的差异:
- 显示当前分支新增的提交
- 展示与主分支不同的代码变更[!note]例如:你在一个
feature/signup-flow分支上开发了注册流程,准备合并回main,但不确定有哪些重要更改。你可以对 AI 说:请帮我总结一下 @Branch 中相对于 main 分支的所有功能改动,方便我写 PR 描述。AI 会列出当前分支比 main 多出的提交与变更,比如:- “新增了
SignupForm.vue组件” - “修改了 API 调用逻辑”
- “引入了新的依赖(如
yup用于表单验证)”
- “新增了
5. Terminals
用于在 Chat 中 引用你当前终端中的输出结果或状态信息,让 AI 可以根据终端反馈内容给出解释、建议或下一步操作。一个最方便的作用就是解释错误日志。例如你在终端运行了 npm run build,结果报了一长串错,难以理解。你可以直接说:
@Terminal 出现了这些报错,能不能帮我分析原因并给出修复建议?
AI 将读取终端输出内容,解释问题,比如:
- “看起来你缺少某个依赖,可以尝试安装”
- “TypeScript 报了类型错误,建议改成……”
- “这个是 ESLint 配置文件缺失导致的错误”
另外也可以根据终端输出给出下一步命令,例如对 AI 说:
我刚运行了 @Terminal 中的 git pull,现在接下来应该做什么?
AI 会结合输出判断你当前分支状态、是否有冲突、下一步是否要 rebase 或 merge。
与传统 Chat 模式的区别
| 模式 | 是否能读取终端输出 | 是否能帮你生成命令 |
|---|---|---|
| 普通聊天 | ❌ 只能靠你复制粘贴内容 | ✅ 能生成,但不知上下文 |
@Terminal | ✅ 可自动引用终端上下文 | ✅ 更准确、带环境感知能力 |
6. Linter Errors
@Lint Errors 是 Cursor 中用于访问并引用代码中的 Lint 报错与警告信息的快捷符号。这个符号可以自动捕获并提供你当前激活文件中所有的 lint 报错与警告。无需你手动复制报错内容,它会直接把这些问题作为上下文提供给 AI。
优点:
- 帮你定位当前文件的代码规范问题(比如未使用的变量、格式错误、语法不一致)
- 可以结合 Chat 让 AI 自动修复或解释这些问题
- AI 会更智能地生成符合规范的代码,减少报错
例如:让 AI 修复当前文件中的所有 Lint 问题
你可以对 AI 说:
请根据 @Lint Errors 修复当前文件中所有的 ESLint 报错




