跳转到内容

聊天上下文

上下文是影响 AI 响应质量的最重要因素之一。向聊天添加相关上下文,帮助 Copilot 理解你的代码库、当前任务和期望的结果。

Copilot 会自动从多个来源收集上下文:

  • 活跃编辑器:当前打开的文件内容
  • 工作区索引:VS Code 对工作区的语义理解
  • 代码搜索:自动查找代码库中的相关文件和符号
  • 自定义说明(Custom Instructions):在 .github/copilot-instructions.mdAGENTS.md 中定义的项目级说明

使用 # 上下文变量(Context Variable)

Section titled “使用 # 上下文变量(Context Variable)”

在聊天输入框中使用 # 前缀引用特定资源:

解释 #utils.ts 中的 parseDate 函数
#codebase 认证逻辑在哪里实现的?
根据 #terminalLastCommand 的错误,如何修复这个问题?

常用上下文变量(Context Variable):

  • #<文件名> — 引用特定文件
  • #<文件夹名> — 引用文件夹
  • #<符号名> — 引用特定函数、类或变量
  • #codebase — 在整个代码库中搜索
  • #selection — 当前选中的代码
  • #editor — 活跃编辑器内容
  • #terminalLastCommand — 终端最后运行的命令输出
  • #problems — 当前错误和警告
  • #fetch <URL> — 从 URL 获取内容

将文件从资源管理器直接拖放到聊天输入框,作为上下文添加。

将截图或图片添加到聊天,让 AI 分析视觉内容。支持的格式包括 PNG、JPEG、GIF 和 WebP。

右键单击编辑器中的代码,选择 Copilot > 添加到聊天 将代码段添加为上下文。

VS Code 使用多种技术索引你的工作区以提供上下文:

  • 语义搜索:理解代码意图而非仅匹配文字
  • 语言智能(LSP):符号定义、引用和类型信息
  • GitHub 代码搜索:用于远程仓库的快速全文搜索(需要 GitHub 账号)

对于大型仓库,启用远程索引可获得更快、更全面的搜索结果:

  1. 打开命令面板,运行 GitHub Copilot: Build Remote Index
  2. 索引构建后,搜索结果将包括整个仓库的内容

了解更多:工作区上下文和代码库搜索

在长对话中,上下文窗口可能填满。VS Code 自动压缩旧的对话内容以腾出空间。你也可以手动触发压缩:

  • 在聊天输入框输入 /compact 压缩当前会话
  • 可附加说明:/compact focus on the API design decisions
  • 对不明确的问题使用 #codebase 让 Copilot 自行搜索
  • 对已知的特定文件使用 #<文件名> 直接引用
  • 添加测试失败、终端错误等运行时上下文以获得精准帮助
  • .github/copilot-instructions.md 中设置项目级别的永久上下文