GitHub Copilot Chat 不理解仓库,常见原因是你只在问一个普通聊天问题,没有给它明确的工作区上下文。要让它按项目回答,先用 @workspace、引用文件、选中代码或添加上下文,而不是只问“这个项目怎么改”。
先看它拿到了什么上下文
VS Code 文档说明,Copilot Chat 会根据当前文件、选择内容、工作区信息和显式引用来构造上下文。也就是说,它不一定自动读取整个仓库,更不会每次都把所有文件塞进去。
如果问题涉及多个文件,必须明确让它搜索代码库,比如使用 @workspace,或在聊天里添加相关文件、文件夹、符号。
提问方式要改
差的问法是:“这个登录为什么不工作?”好的问法是:“@workspace 请搜索登录流程,重点看 auth、session、middleware,说明请求从前端到后端经过哪些文件。”
先让它找文件,再让它修问题。否则它可能只根据当前打开文件猜答案。
索引和权限也要看
如果工作区索引没完成,或者组织权限限制了某些仓库,Copilot 对项目理解会变弱。看 Copilot 状态栏和日志,确认账号、仓库权限、索引状态正常。
在 Azure DevOps、远程仓库或企业环境里,更要先确认 Copilot 有访问权限。
最稳流程
先问“请列出和这个问题相关的文件”,确认它找到的文件对不对;再让它解释调用链;最后让它给最小改动方案。不要一开始就让它直接改。
Copilot Chat 不是天然懂整个仓库。你给的上下文越准确,它越像项目助手;上下文越模糊,它越像通用问答机器人。