Copilot Chat 需先通过 VS Code 内 GitHub: Sign In 完成 OAuth 认证,再用 Ctrl+Shift+P → Copilot: Open Chat 等方式打开面板,并启用 Include current file 和 related files 等上下文选项以提升准确性。

确认 Copilot Chat 扩展已启用且登录有效
Copilot Chat 在 VS Code 中不是独立插件,而是 GitHub Copilot 的内置功能——但前提是你的账户已通过正确路径完成认证。很多人点状态栏图标后只看到「Sign in to GitHub」,反复点击无反应,根本原因是 VS Code 没有真正拿到 OAuth token。
必须执行以下任一操作,且需在 VS Code 内完成:
-
Ctrl+Shift+P(Windows/Linux)或Cmd+Shift+P(macOS),输入Github: Sign In并回车,按弹窗完成授权 - 或确保本地已安装并登录
ghCLI:终端运行gh auth status,输出含✓ Logged in to github.com
仅在浏览器登录 GitHub、或用 GitHub Desktop 登录,VS Code 完全不感知。登录成功后,状态栏 Copilot 图标会从灰色变为彩色,悬停提示「Chat with Copilot」。
触发 Copilot Chat 面板的三种可靠方式
别依赖右键菜单或模糊的快捷键组合——这些在不同版本或主题下容易失效。最稳的入口只有三个:
-
Ctrl+Shift+P→ 输入Copilot: Open Chat→ 回车(推荐,100% 可控) - 快捷键
Ctrl+I(Windows/Linux)或Cmd+I(macOS)——注意不是Ctrl+Enter(那是接受内联建议) - 状态栏 Copilot 图标右键 → 选择
Open Chat
如果 Ctrl+I 没反应,大概率是快捷键被其他扩展(如 Vim 插件)劫持,此时务必用命令面板方式。面板打开后默认为「Chat」模式,不是「Agent」或「Code Actions」。
让对话具备上下文的关键配置项
Copilot Chat 默认只读取当前活动文件的可见代码块,对跨文件逻辑、项目结构或自定义规则“视而不见”。要让它真正理解你在写什么,必须手动开启上下文透传:
- 在 Chat 面板右上角点击
⋯→ 勾选Include current file和Include related files(后者会自动加入 import/require 的模块) - 编辑器设置中确认
"github.copilot.chat.includeWorkspaceContext": true已启用(可通过Ctrl+,搜索该配置项) - 若在 Python 项目中调试 FastAPI 路由,可手动粘贴
pyproject.toml片段到聊天框开头,加一句「这是我的项目依赖和结构,请基于此回答」——Copilot 会优先消化这段文本
不开启这些选项时,它可能把 router.get("/user") 当成普通字符串处理,而非 FastAPI 的装饰器调用;开启后能识别 response_model=UserSchema 并据此生成符合 Pydantic v2 规范的示例数据。
避免「答非所问」和 Token 浪费的实操技巧
从 2026 年 6 月起,Copilot 将按 token 计费,无效提问会快速耗尽免费额度。常见低效行为包括:
- 用自然语言泛问「怎么写一个登录接口?」——它无法判断你用的是 Express、Flask 还是 NestJS。应明确写:
@app.post("/login", response_model=Token),然后问「这个 FastAPI 路由如何添加 JWT 验证中间件?」 - 在 Chat 中连续发 5 条「还有吗?」「再给一个例子」「换种写法」——每次都是新请求,token 独立计费。正确做法是用
@引用前文:「@上一条回复中的验证逻辑,改成支持 refresh token 的双 token 方案」 - 粘贴 300 行未格式化的日志报错,期望它定位问题。应先自己提取关键行:
sqlalchemy.exc.IntegrityError: (psycopg2.errors.UniqueViolation) duplicate key value violates unique constraint "users_email_key",再问「如何在 FastAPI 中捕获这个异常并返回 409?」
深度对话真正的门槛不在登录或面板打开,而在于你能否把工程语境「翻译」成 Copilot 可锚定的信号:具体函数名、确切错误信息、真实代码片段、明确框架版本。它不推理模糊意图,只响应可绑定的上下文。



















