Appearance
Copilot Chat 的回答质量很大程度上取决于你提问的方式。本页整理了在 IDE 中高效使用 Copilot Chat 的核心技巧:如何传递上下文、使用 slash commands 快速触发常用操作、以及通过 @workspace 跨文件提问。
GitHub Copilot Chat 高效提问指南:如何让 AI 给出更准确的代码回答
基本交互方式
打开 Copilot Chat 面板后直接用自然语言提问即可:
这个函数用了什么排序算法?tell me about nodejs web server frameworksChat 默认以当前文件为上下文,但有更多方法让它理解你的实际需求。
提高回答质量的核心技巧
1. 先选中代码,再提问
把光标停在某段代码上,或选中一段代码后再打开 Chat 提问,Copilot 会自动把选中内容作为上下文:
解释一下这段代码做了什么这段代码有什么潜在的性能问题?2. 用 #file 引用具体文件
#file:src/auth/login.ts 的认证流程是什么?基于 #file:schema.prisma 帮我写一个查询用户的函数3. 用 @workspace 跨文件提问
@workspace 让 Copilot 搜索整个工作区(需要仓库索引支持):
@workspace 这个项目是怎么处理错误的?@workspace 哪里定义了 User 模型?4. 用 @vscode / @terminal 问 IDE 和终端问题
@vscode 怎么配置 TypeScript 的路径别名?@terminal 找出 src 目录下最大的文件slash commands 速查
| 命令 | 功能 |
|---|---|
/explain | 解释选中代码 |
/fix | 修复当前文件或选中代码的问题 |
/tests | 为选中代码生成测试 |
/new | 创建新项目或文件结构 |
/doc | 为选中代码生成文档注释 |
示例:
/fix 这个 null 检查的问题/tests 为这个工具函数生成单元测试/new react app with typescript and tailwind如何处理 Copilot 给出的代码建议
Chat 回答中包含代码块时,通常有以下操作选项:
- 复制:一键复制代码
- 插入到光标位置:直接插入到编辑器当前位置
- 在新文件中预览:先看效果再决定是否采用
- 应用到当前文件:Agent 模式下可以自动写入文件
安全提示
Chat 支持直接分析 GitHub Advanced Security 扫描出的安全警告:
How would I fix this alert?将 GHAS 扫描到的漏洞代码粘贴进来,Copilot 会给出修复建议和原因分析。
和 Claude Code 的对比
| 维度 | Copilot Chat(IDE) | Claude Code(CLI) |
|---|---|---|
| 上下文传递 | #file、@workspace 显式引用 | 自动读取当前目录所有文件 |
| 代码修改 | 手动采纳建议 / Agent 模式自动写入 | 直接修改文件(需确认) |
| 适合场景 | IDE 内问答和小范围修改 | 跨文件批量重构、复杂任务自动化 |
常见问题
Q: 提问时要用英文吗?
A: 不需要。Copilot Chat 支持中文提问,回答也可以用中文。如果你希望回答用中文,可以在 .github/copilot-instructions.md 中加一行「用中文回答所有问题」作为全局指令。
Q: @workspace 和直接问有什么区别?
A: 不带 @workspace 时,Copilot 只看当前文件和你发送的内容。加了 @workspace 后,Copilot 会主动搜索整个代码仓库的语义索引来找相关代码,回答跨文件问题准确得多。
Q: JetBrains 里的 Chat 功能和 VS Code 有什么差异?
A: 核心功能基本相同(slash commands、上下文变量、Agent 模式),但界面操作位置略有不同。@vscode 这类 IDE 特定的 chat participant 在 JetBrains 中没有,但 #file、@workspace 都支持。