序言
本教程由「小荣的网络开发日志」实操整理编写,实操踩坑验证,内容真实可靠。
遇到操作问题可直接联系作者,转载需标注原文出处,禁止私自篡改商用。
承接网站、APP、小程序、各类脚本定制开发;
AI 编程教学、一对一项目全程陪跑,提供免费技术咨询。
联系方式: 微信:rongyaolg 电话:18375295913
Cursor @ 符号
在 Cursor 中,@ 符号是一个非常重要的上下文引用工具。
它可以帮助你在和 AI 交互时,快速引用文件、文件夹、代码片段、文档、网页、Git 信息和聊天记录,让 AI 更准确地理解你当前的问题。
一、@ 符号有什么用
在任何 AI 交互场景中输入 @,Cursor 都会触发上下文关联菜单。
常见场景包括:
- Chat 聊天窗口
- Composer / Agent 任务
- 命令面板或快捷 AI 操作
- 终端相关 AI 交互
输入 @ 后,Cursor 会自动推荐当前项目中相关的资源,例如文件、目录、代码片段、文档等。
二、键盘操作
触发 @ 菜单后,可以用键盘快速选择。
| 操作 | 说明 |
|---|---|
| ↑ / ↓ | 在候选列表中上下移动 |
| Enter | 确认选择 |
| 输入关键词 | 继续过滤候选结果 |
| 选择类别 | 进入该类别下继续筛选 |
例如你输入 @Files,Cursor 会继续列出项目中的文件,方便你选择具体文件。
三、文件读取策略
引用文件时,Cursor 可能支持不同读取方式。
常见模式:
| 模式 | 说明 | 适合场景 |
|---|---|---|
| 完整读取 | 尽量读取整个文件内容 | 文件较短,需要完整分析 |
| 摘要读取 | 只读取关键部分或摘要 | 文件很长,只需要大概上下文 |
部分场景可以通过 Ctrl / Command + M 在完整读取和摘要读取之间切换。
如果文件很长,建议先用摘要读取;如果 AI 回答不准,再切换到完整读取。
四、常用 @ 指令
| 功能 | 描述 | 使用场景 |
|---|---|---|
| @Files | 引用整个文件作为上下文,支持文件路径预览和分块处理 | 需要引用具体代码文件或文档 |
| @Folders | 引用整个文件夹作为上下文 | 需要让 AI 理解某个目录下的大量文件 |
| @Code | 引用特定代码片段作为上下文 | 针对某几行代码提问或修改 |
| @Codebase | 在整个代码库中搜索相关文件或代码块,并按相关性组织 | 不知道代码在哪,需要全局查找 |
| @Git | 引用 Git 提交、差异或变更信息 | 分析提交记录、代码差异、最近改动 |
| @Web | 搜索网络信息作为附加上下文 | 需要最新资料或外部资源 |
| @Docs | 引用预设第三方文档或自定义文档 | 需要查 API 文档、框架文档 |
| @Definitions | 引用附近变量、函数、类等定义 | 需要理解当前代码中的定义关系 |
| @Chat | 引用当前或历史聊天内容 | 需要延续之前的对话上下文 |
五、高级使用技巧
1. 组合多个上下文
你可以在同一个问题里组合多个 @ 引用。
例如:
请参考 @Files src/utils/helper.js 和 @Codebase,帮我优化这个工具函数。这样 AI 不只看指定文件,也会结合整个代码库上下文来判断。
2. 引用外部链接
如果你粘贴以 @ 开头的链接,Cursor 可能会尝试解析网页内容并作为上下文。
例如:
请参考 @https://api.example.com/docs,帮我封装请求方法。适合引用接口文档、框架文档、产品说明等外部资料。
3. 管理隐私文件
如果项目中有敏感文件,不建议交给 AI。
可以通过类似 .cursorignore 的配置排除敏感文件或目录。
常见需要排除的内容:
.env
*.pem
secrets/
private/
node_modules/这样可以减少敏感信息被索引或引用的风险。
4. 添加自定义文档
在 Cursor 的设置中,可以到类似 Settings > Features > Docs 的位置添加自定义文档链接。
这样使用 @Docs 时,AI 可以引用你配置过的文档。
适合:
- 公司内部 API 文档
- 项目开发规范
- 框架官方文档
- 第三方服务说明
六、典型应用场景
场景 1:代码生成
需求:基于已有用户模型,生成登录鉴权逻辑。
可以这样问:
请生成用户登录功能,参考 @Files src/models/user.js 和 @Docs https://jwt.io/introduction。
要求说明修改哪些文件,并给出测试方式。AI 会结合用户模型和 JWT 文档,生成更贴合项目的代码。
场景 2:错误排查
需求:解释某段代码为什么报错,并结合最近提交分析原因。
可以这样问:
请解释这个报错原因,重点参考 @Code 当前选中的代码片段 和 @Git HEAD~1。
先说明原因,不要直接修改代码。AI 可以结合代码片段和最近 Git 改动,帮助判断问题是不是由最近修改引起的。
场景 3:跨文件重构
需求:把某个目录里的组件统一改造。
可以这样问:
请将 @Folders src/components 中的类组件改为函数式组件,并结合 @Codebase 检查全局引用。
要求先给出计划,我确认后再修改。这类任务涉及多个文件,使用 @Folders 和 @Codebase 会比只给一个文件更准确。
七、小白使用建议
刚开始不用记住所有 @ 指令。
先掌握这 4 个:
| 指令 | 最常用场景 |
|---|---|
| @Files | 让 AI 看某个文件 |
| @Folders | 让 AI 看某个目录 |
| @Codebase | 让 AI 理解整个项目 |
| @Docs | 让 AI 参考官方文档 |
如果 AI 回答太泛,通常是上下文不够。这个时候就应该用 @ 把具体文件、目录或文档补充进去。