2-5 如何在 Cursor 中提供脉络 (上下文) @File 、 @Code 、 @Git 介绍

2025年4月19日

持續學習最新的 AI 應用
更多深入的 AI 內容,都在 E+ 成長計畫 👉前往了解

在这个单元中,我们会谈如何在 Cursor 中提供脉络 (上下文),以帮助 AI 模型或 AI 代理更准确地理解我们的需求,并给出符合预期的回答或改动。

Cursor 提供了一些非常实用的快捷键,这些快捷键以小老鼠符号 @开头,可以看作是一种索引。透过这些索引,我们能将相关脉络导入 Cursor,让 AI 更清楚我们解决问题时需要关注的细节。

Cursor 中常用的快捷键

  • @file:引用整个档案作为上下文。
  • @code:引用特定程式码段落(避免过多无关内容)。
  • @git:引用 Git 记录(如 commit、PR diff),方便 Code Review。
  • @docs:引用技术文件(如 Next.js 官方文件),避免模型使用过时资讯。
  • @web:让 Cursor 先进行网路搜寻,再根据最新内容回答(适用于无官方文件的新技术)。

@file 引用文件作为脉络

假设想引用一个名为 memorize 的档案,我可以点击 @file,选择该档案后,Cursor 会将其加入对话框作为脉络。或者可以直接在对话框输入 @ 符号,然后从出现的选单中选择 memorize 档案。

透过 @file 引用档案作为脉络
透过 @file 引用档案作为脉络

加入脉络后,我可以输入:「请帮我为 @memorize 档案中的函式写测试。」送出后,Cursor 会根据这个脉络生成相关测试程式码。

引用档案后,可以输入相关指令
引用档案后,可以输入相关指令

@code 引用特定程式码片段

除了引用整个档案外,我们也能引用特定程式码片段。使用 @code 快捷键,输入关键字,即可找到并引用 memorize 函式。与引用整个档案不同的是,这种方式只会显示特定函式的程式码。如果档案较大,且包含许多你暂时不关心的细节,建议使用 @code 而非 @file,这样能让脉络更精准。

透过 @code 引用特定程式码片段
透过 @code 引用特定程式码片段

@git 引用 Git 纪录

我们也能将 Git 纪录作为脉络。例如,使用 @git 快捷键,可以看到特定 commit 的纪录。

透过 @git 引用 Git 纪录
透过 @git 引用 Git 纪录

假设想请 Cursor 针对某个 commit 进行程式码审查 (Code Review),可以引用该 commit,然后输入:「请评论这段程式码,告诉我哪里可以改进。」送出后,Cursor 会根据该 commit 内容提供建议。这在提交 PR 前,想让 Cursor 帮忙自己看程式码时会特别有用。

Cursor 可以针对特定 Git commit 提供协助
Cursor 可以针对特定 Git commit 提供协助

@docs 引用技术文件

使用 @doc 快捷键,可以引用内建或自订的文件。例如,假设有个关于 Next.js 的问题,我可以引用 Next.js 文件,然后问:「在 Next.js 使用 App Router 的情况下,如何新增一个路由?」。

在 Cursor 中引用技术文件来回答
在 Cursor 中引用技术文件来回答

将最新技术文件作为脉络的好处在于,AI 模型的训练数据有截止时间,若技术框架在截止后更新,AI 可能给出过时答案。透过引用最新文件,就能确保回答符合当前版本,避免 AI 的幻觉问题 (hallucination)。

如果问题涉及没有官方文件的最新技术,可以使用 @web 快捷键。Cursor 会先搜寻网路,根据最新内容回答。这能有效避免过时或不准确的回覆。

提升回答品质的小技巧

除了上述快捷键,还有一个值得推荐的做法:在与 Cursor 对话或与 AI 代理互动时,可以在提示词最后加上:「如果需要更多资讯,请让我知道。」这句话来自 X (推特) 上一个热门贴文,作者发现加上这句后,Cursor 会主动提问,让你补充更多脉络,进而提升回覆品质或改动结果。

在提示词后加上这句话,往往能得到更准确的输出
在提示词后加上这句话,往往能得到更准确的输出

举例来说,若担心提供的脉络不足,可以在提示词后加这句话;当 Cursor 提出问题时,再补充资讯给 Cursor,这样往往能得到更准确的输出。

此系列文章为 《给工程师的 Cursor 工作流 — 透过 AI 代理全方位提升开发生产力》 搭配的教材。希望透过这系列文章,将过去协助导入 AI 工具及使用 Cursor 的经验扩展并分享给想提升生产力的读者。如果对课程感兴趣的读者,可以加入 E+ 成长计划,观看影片学习。

🧵 如果你想收到最即時的內容更新,可以在 FacebookInstagram 上追蹤我們