Cursor 的 AI 默认只能"看到"当前活动标签页的内容。如果你想让 AI 基于项目里另一个文件中的函数、类型定义或配置来回答问题,就需要用到 @文件 指令。
使用方法
在侧边栏 Chat(Ctrl/Cmd + L)或行内编辑框(Ctrl/Cmd + K)中,输入 @ 符号,会弹出上下文选择菜单。选择 "Files"(或直接继续输入文件名),Cursor 会检索当前工作区中的文件列表。点击目标文件,或通过键盘上下键选中回车,即可将该文件的全部内容作为上下文注入对话。
另一种更快捷的方式是直接拖拽:把编辑器顶部或资源管理器中的某个文件标签,拖入侧边栏对话输入框,松开鼠标即自动完成引用。
典型场景
| 场景 | 示例用法 |
|------|---------|
| 跨文件补全 | 在 api.ts 中写接口请求时,输入 @types.ts 根据这里的 User 类型定义,补全登录接口的请求参数 |
| 依赖排查 | 遇到运行时错误时,附加 @package.json,让 AI 结合依赖版本分析是否是兼容性问题 |
| 代码比对 | 同时引用 @oldModule.js 和 @newModule.js,让 AI 分析重构前后的逻辑差异 |
| 按配置生成 | 引用 @vite.config.ts,询问 AI 如何根据现有配置正确引入新的插件 |
注意事项
- 内容同步:
@文件引用的是磁盘上已保存的版本,未保存的修改不会实时进入上下文。如果刚改完就让 AI 分析,记得先按Ctrl/Cmd + S。 - 长度限制:被引用文件的内容会占用对话 Token。若文件过大(如超过几百行的日志、构建产物),AI 可能会截断尾部内容。此时建议先手动选中关键片段,再发起对话,而非直接
@整个文件。 - 多文件引用:一次对话中可以同时
@多个文件,但建议控制在 2–3 个核心文件以内,避免上下文过度分散导致 AI 焦点模糊。