GitHub Copilot使用技巧:90%的人不知道的10个隐藏功能(2026)

📝 372 字 · ☕ 1 分钟阅读

写在前面

GitHub Copilot 已经装机超过200万开发者了。但我打赌——90%的人只用到了它20%的功能。

你也是「Tab补全第一行就完事了」那种用法对吧?我也是,直到我发现这些隐藏功能之后,才意识到自己一直在「用钥匙当锤子使」。

这篇文章整理了10个我日常用得最多的 Copilot 高级功能——不是那种官网文档第一页就写着的,而是真正用了一段时间才会发现的「隐藏技」。学完这些,你的编码效率可能再翻一倍。

测试环境:VS Code 1.98 + GitHub Copilot v1.280 + Copilot Chat v0.24(2026年5月)

十大隐藏功能速览

# 功能名称 激活方式 效率评级
1 @workspace 代理 聊天窗口输入 @workspace ⭐⭐⭐⭐⭐
2 精确上下文变量 #file / #selection / #terminalLastCommand ⭐⭐⭐⭐⭐
3 自定义指令文件 .github/copilot-instructions.md ⭐⭐⭐⭐
4 /explain 命令 选中代码后输入 /explain ⭐⭐⭐⭐
5 /fix 命令 选中 bug 代码后输入 /fix ⭐⭐⭐⭐
6 /tests 命令 选中函数后输入 /tests ⭐⭐⭐⭐
7 多建议面板 Ctrl+Enter 打开备选列表 ⭐⭐⭐
8 内联聊天 Cmd+I 选中代码后按 Cmd+I / Ctrl+I ⭐⭐⭐⭐
9 文件排除设置 Settings 搜索 “copilot exclude” ⭐⭐⭐
10 自动生成 Commit Message Source Control 面板点✨按钮 ⭐⭐⭐⭐

功能一:@workspace 代理——让 Copilot 理解你的整个项目

这是 2024 年底推出的功能,但我至今遇到的开发者里用过的不超过3个。

普通 Copilot Chat 只看你当前打开的文件。而 @workspace 代理会扫描整个项目的文件结构、依赖关系、配置,然后基于全局上下文回答你。

典型用法:

@workspace 这个项目的认证逻辑是怎么实现的?帮我画出数据流
@workspace 有哪些地方用了硬编码的 API 地址?帮我列出来
@workspace 我要在这个项目里加一个导出 CSV 的功能,应该改哪些文件?

说实话,第三个问题是 @workspace 最让我上头的场景。以前加新功能要先花 20 分钟翻代码找到正确的切入点,现在直接问——它告诉你要改 xxService、xxController、xxDTO,连文件路径都给你列好了。

亮点:跨文件理解能力碾压普通 Chat,重构/接手遗留代码时的救星。

不足:超大项目(500+文件)首次扫描要 10-15 秒,且需要 GitHub Copilot Business/Enterprise 订阅。

功能二:精确上下文变量——别再复制粘贴代码了

这个功能简单到容易被忽略,但它可能是日常使用频率最高的隐藏技巧。

在 Copilot Chat 里,你可以用 # 引用具体的上下文:

变量 作用 示例
#file 引用整个文件 #file:src/auth.ts 这个文件有没有安全问题?
#selection 引用选中的代码 #selection 把这段代码改成 async/await 写法
#editor 引用当前可见编辑区 #editor 给这段逻辑加上错误处理
#terminalLastCommand 引用终端上次命令+输出 #terminalLastCommand 这个报错怎么修?
#terminalSelection 引用终端选中的内容 #terminalSelection 解释这个错误日志

#terminalLastCommand 是我最常用的——测试跑挂了,不用手动复制粘贴报错信息,直接一个变量扔给 Copilot 让它分析。

小技巧:#file 支持模糊匹配文件名,不需要打完整路径。

功能三:自定义指令文件——定义你的AI编码规范

这个功能藏在文档深处,但价值巨大。

在项目根目录创建 .github/copilot-instructions.md,Copilot 会在每次生成代码时自动读取这个文件作为行为准则。

示例文件内容:

# Copilot 编码指令

## 代码风格
- 使用 TypeScript strict mode
- 函数优先使用箭头函数
- 变量命名用 camelCase,组件用 PascalCase
- 禁用 any 类型,必须显式声明

## 错误处理
- 所有 API 调用必须有 try/catch
- 错误信息必须包含上下文,不能用通用 message

## 注释规则
- 公开 API 必须有 JSDoc
- 复杂业务逻辑加行内注释
- 不要写解释"是什么"的注释,只写"为什么"

## 测试
- 每个 service 方法必须有对应单元测试
- 使用 vitest,不用 jest

配好之后效果立竿见影——Copilot 生成的代码不再是你团队的「异类」,风格直接对齐你的规范。

一个真实经历:我们团队统一了 copilot-instructions.md 之后,Code Review 里「格式不统一」的评论减少了大约 60%。

功能四:/explain——让AI当你的代码老师

接手别人的代码最痛苦的是什么?读不懂。尤其是那种一个函数 200 行、变量名叫 tmp1tmp2data 的祖传代码。

选中那段代码,在 Copilot Chat 输入 /explain

/explain 这段代码在做什么?用通俗的语言解释

Copilot 会输出:这段代码处理的是订单状态机——从「待支付」到「已取消」的过期逻辑,包括库存回滚、优惠券退还、通知发送三步。

比自己一行行啃快 10 倍,而且它还会标注出哪些地方可能有 bug。

进阶用法:加一个「用5岁小孩能理解的方式解释」,它会给出超接地气的比喻。

功能五:/fix——一键修复Bug

选中出问题的代码,输入 /fix,Copilot 会自动分析问题并给出修复后的代码。

不只是修语法错误——它能识别逻辑问题。比如你写了一个 for 循环但忘记处理边界条件,/fix 不仅会补上,还会在注释里说明为什么原来的代码有问题。

/fix 这段代码在处理空数组时会崩溃,帮我修一下

比 StackOverflow 快,比 Google 精准。而且它给的修复代码可以直接「Apply」到编辑器里,不用复制粘贴。

功能六:/tests——一键生成单元测试

写测试是好事,但写测试也是苦力活。选中一个函数,输入 /tests

/tests 给这个函数生成完整的单元测试,覆盖正常输入、边界值、异常情况

它会生成包含 describe/it 结构、mock 依赖、断言覆盖 3 种场景的完整测试文件。

实测:一个 CRUD service 的测试,手写大概 40 分钟,/tests 生成 + 人工微调大概 8 分钟。省下的时间够喝两杯咖啡。

注意:生成的测试代码需要人工审查——Copilot 有时候会对 mock 数据过于乐观,你需要确认边界条件是否真的覆盖到了。

功能七:多建议面板——不止一个答案

默认情况下 Copilot 只显示第一个补全建议,按 Tab 接受。但按 Ctrl+Enter 会打开一个面板,显示 10 个备选方案。

这个功能在处理有多种实现方式的逻辑时特别有用——比如你想写一个排序函数,Copilot 可能同时给出冒泡排序、快排、用 Array.sort() 三种方案,你可以直接选最合适的那个。

小技巧:打开多建议面板后,用 Alt+]Alt+[ 快速切换,不用鼠标。

功能八:内联聊天 Cmd+I——不离开编辑器改代码

大多数人用 Copilot Chat 是打开侧边栏。但其实有个更快的方式:选中代码,按 Cmd+I(Windows: Ctrl+I),会在代码上方弹出一个内联输入框。

直接输入你的需求,比如:

给这个函数加上输入参数校验,空值抛异常
把 for 循环改成 map
提取这段逻辑成一个独立函数,命名为 validateOrder

Copilot 会直接在你的代码位置生成修改,带 diff 预览让你确认。整个过程不需要切窗口、不需要开侧边栏,手不离键盘。

我有一个习惯:所有重构操作都用 Cmd+I 完成,比手动改快太多了。

功能九:文件排除设置——让建议更精准

Copilot 默认会索引项目里的所有文件作为上下文。但这有时候是坏事——它会读到自动生成的代码、第三方库、配置文件,然后给出不相关的建议。

在 VS Code 设置里搜索 github.copilot.advanced,可以配置排除规则:

{
  "github.copilot.advanced": {
    "files.exclude": {
      "**/*.generated.*": true,
      "**/dist/**": true,
      "**/node_modules/**": true,
      "**/*.test.*": true,
      "**/*.spec.*": true
    }
  }
}

配置完之后效果很明显——补全建议的准确率提升不少。因为 Copilot 不会被测试文件里的 mock 数据「带偏」了。

一个小细节:不建议排除 .config. 文件,因为 Copilot 需要从项目配置里理解你的技术栈(比如从 tsconfig.json 知道你用的是 strict mode)。

功能十:自动生成 Commit Message——告别 commit 写作恐惧症

这条可能是最简单的,但也是我用得最频繁的。

写完代码,打开 Source Control 面板(Ctrl+Shift+G),你会看到 staged changes 上方有一个✨按钮。点一下,Copilot 会分析你的改动,自动生成一条描述性的 commit message。

它生成的格式通常是:

feat: add order export to CSV with date range filter

- Added OrderExportService with CSV generation logic
- Added date range picker to orders list page
- Added download endpoint at /api/orders/export

比「fix bug」「update code」这种敷衍 commit 好一百倍。而且它用的是 Conventional Commits 规范,跟 CI/CD 的语义化版本发布完美配合。

说实话,学会这个功能之后,我再也没手写过 commit message。不是懒,是它确实写得比我好。

功能对比:Copilot Free vs Pro vs Business

并不是所有功能都在免费版里。以下是三个方案的对比:

功能 Free Pro ($10/月) Business ($19/月)
代码补全 ✅ 2000次/月 ✅ 无限 ✅ 无限
Copilot Chat ✅ 50次/月 ✅ 无限 ✅ 无限
@workspace 代理
内联聊天 Cmd+I
多建议面板
自定义指令文件
Commit Message 生成
上下文变量 #file/#selection
组织级策略管理
代码建议不外传训练

一句话总结:如果只是偶尔试试 AI 编程,Free 版够了。但如果你日常写代码,Pro 版的 $10/月是本年度最值的订阅——上面 10 个功能里 8 个都在 Pro 版里。

实战场景:用这些技巧重构一个模块

来一个真实流程演示。假设你要重构一个遗留的用户认证模块:

第一步:在聊天窗口输入 @workspace 这个项目的认证模块有哪些文件?帮我列出所有相关文件——搞清楚范围。

第二步:打开主文件,用 /explain 理解现有逻辑。

第三步:选中要改的函数,按 Cmd+I 输入「把这个函数拆成 validateToken 和 refreshSession 两个独立函数」——内联重构。

第四步:选中断重构后的函数,输入 /tests——生成测试。

第五步:如果测试失败,选中失败信息用 #terminalLastCommand 问「这个测试失败原因是什么?」——快速定位。

第六步:staged 所有改动,点 ✨ 按钮——自动生成 commit message。

全程不到 15 分钟,手写的话至少 1 小时。

常见问题 FAQ

Q: Copilot 的代码建议会被上传到 GitHub 服务器吗?有隐私风险吗?

代码补全需要上传上下文到服务器。但 Pro 和 Business 订阅可以选择「不允许 GitHub 用你的代码训练模型」。企业版支持自托管,代码不出公司网络。敏感项目的建议:用 Business 订阅 + 代码库排除配置。

Q: Copilot 和 Cursor / Windsurf 比,哪个更好?

各有胜负。Copilot 的补全速度最快、@workspace 代理在企业级项目中最强。Cursor 的 Agent 模式在「一条指令改多个文件」的场景更流畅。Windsurf 擅长理解全项目上下文做架构级任务。具体对比见本站的 VS Code vs Cursor vs Windsurf 横向评测

Q: 免费版 Copilot 能用到哪些功能?

免费版包含基础代码补全(2000次/月)和 Copilot Chat(50次/月),但不支持 @workspace、内联聊天、自定义指令文件、多建议面板等高级功能。如果你是学生或开源维护者,可以申请免费 Pro 订阅。

Q: 自定义指令文件应该放哪里?

放在项目根目录下的 .github/copilot-instructions.md。Copilot 会自动检测并读取。如果项目是多模块的 monorepo,可以在每个子模块目录下各放一份,Copilot 会根据你当前编辑的文件位置选择最近的那份。

Q: 这些快捷键记不住怎么办?

在 Copilot Chat 里输入 /help 会列出所有可用命令和快捷键。或者把本文收藏起来当速查表用。核心记住三个就够了:Cmd+I(内联修改)、Ctrl+Enter(多看几个建议)、/fix(修bug)。

总结:从「Tab机器」到「AI编程伙伴」

大多数人的 Copilot 使用曲线是这样的:

安装 → 哇 Tab 补全好神奇 → 习惯成自然 → 再也没有探索过新功能。

但如果你花 20 分钟把这些功能过一遍——尤其是 @workspace#file 上下文变量、Cmd+I 内联聊天、/tests 自动生成测试——你的 Copilot 就不再是「补全机器」,而是一个真正能帮你理解项目、重构代码、写测试的 AI 编程伙伴。

试试看。明天写代码的时候,先用 @workspace 问一个问题,你会回来谢我的。

相关阅读:
👉 VS Code vs Cursor vs Windsurf:2026年AI编程IDE横向评测
👉 VS Code + GitHub Copilot 实战:用内联建议和 Copilot Chat 加速日常编码
👉 Python pip install 报错大全:20个常见错误及修复方法(2026)

📤 分享这篇文章