你应该尝试的高级 GitHub Copilot 功能

你已经在使用 GitHub Copilot 进行代码补全,但你是否充分利用了它最强大的功能?虽然大多数开发者只停留在基本的自动补全,但 Copilot 的高级功能可以彻底改变你编写、调试和维护代码的方式。
本文将探讨能够每周为你节省数小时时间的高级 GitHub Copilot 功能:多文件编辑、上下文代理、语音命令,以及远超简单代码建议的自动化工作流。
核心要点
- Copilot Edits 支持通过自然语言描述同时修改多个文件
- 上下文代理(@workspace、@terminal、@vscode)提供特定领域的协助
- 斜杠命令(/tests、/docs、/fix、/explain)加速常见开发任务
- 语音输入和自动化 Git 工作流简化重复操作
使用 Copilot Edits 进行多文件编辑
最被低估的高级 GitHub Copilot 功能之一是 Copilot Edits——同时修改多个文件的能力。在重构或实现新功能时,你无需手动更新每个文件,只需描述一次更改,让 Copilot 处理其余工作。
在 VS Code 中使用 Copilot Edits:
- 打开 Copilot Chat 面板
- 选择”Open Copilot Edits”
- 用自然语言描述你的更改
例如,从 Express 迁移到 Fastify 时,你可以提示:“将所有路由处理器更新为使用 Fastify 语法,并更新 app.js 中的服务器初始化。“Copilot 将识别所有受影响的文件,向你展示更改预览,并让你单独接受或拒绝修改。
此功能在以下场景中表现出色:
- 在 React 应用中重命名组件
- 在整个代码库中更新 API 端点
- 一致地实现新的设计模式
用于精准协助的上下文代理
GitHub Copilot 的上下文代理(@workspace
、@terminal
、@vscode
)通过将 AI 的范围缩小到特定领域来提供有针对性的协助。这些代理根据上下文过滤响应,提供更准确和相关的建议。
@workspace 代理
@workspace
代理分析你的整个项目结构。使用它来:
- 为新函数或模块找到最佳位置
- 理解文件之间的依赖关系
- 获得项目特定的架构建议
示例:@workspace 我应该在哪里实现身份验证中间件?
@terminal 代理
@terminal
代理帮助处理命令行操作,无需离开编辑器:
- 生成复杂的 git 命令
- 创建部署脚本
- 调试 shell 错误
示例:@terminal 如何从上周开始挑选提交?
@vscode 代理
@vscode
代理提供 VS Code 特定的指导:
- 配置设置和扩展
- 创建自定义键绑定
- 优化开发环境
Discover how at OpenReplay.com.
用于快速开发的斜杠命令
斜杠命令加速常见的开发任务。这些预定义操作消除了重复的提示:
/tests
- 为选定代码生成全面的单元测试/docs
- 自动创建 JSDoc 或内联文档/fix
- 调试和修复有问题的代码段/explain
- 获得复杂逻辑的详细解释
使用 /tests 进行高级测试
/tests
命令超越了基本的测试生成。你可以指定测试框架和模式:
/tests use Jest with React Testing Library for this component
这会生成遵循团队约定的测试,包括你可能忽略的边缘情况和错误场景。
语音输入和自然语言处理
GitHub Copilot 的内联聊天支持语音输入,非常适合:
- 在审查代码时描述复杂的重构
- 在会议或讨论期间生成代码
- 为患有重复性劳损的开发者提供无障碍支持
在内联聊天中点击麦克风图标(Mac 上为 Cmd+I,Windows 上为 Ctrl+I)并说出你的请求。AI 能有效处理自然语言,即使包含技术术语。
自动化提交消息和 Git 工作流
在源代码控制面板中寻找星号(✨)图标。点击它会根据你的实际更改生成上下文提交消息,遵循传统提交标准。
除了提交消息,Copilot 还可以:
- 生成全面的拉取请求描述
- 创建针对你项目的
.gitignore
文件 - 建议分支命名约定
实际工作流示例
调试生产问题
调试时,结合多个功能:
- 使用
/explain
理解有问题的代码 - 应用
@workspace
跟踪跨文件的数据流 - 使用
/fix
实现解决方案 - 用
/tests
生成测试以防止回归
框架升级
从 React 17 升级到 18:
- 让 Copilot 识别代码库中的破坏性更改
- 使用 Copilot Edits 更新多个组件文件
- 生成迁移测试以确保兼容性
API 开发
构建新的 REST API:
- 使用
#file
上下文引用你的 OpenAPI 规范 - 生成带有适当验证的路由处理器
- 用
/docs
创建全面的文档 - 使用
/tests
构建集成测试
通过上下文最大化生产力
#file
变量对于在对话中保持上下文特别强大。引用特定文件来:
- 生成一致的代码模式
- 创建相关功能
- 维护架构决策
示例:#file:api/schema.js 创建与这些模式匹配的 TypeScript 接口
结论
这些高级 GitHub Copilot 功能代表了超越基本代码补全的重大飞跃。通过掌握多文件编辑、上下文代理和自动化工作流,你可以减少重复任务并专注于解决复杂问题。从一个功能开始——也许是在下次重构任务中使用 Copilot Edits——然后逐步将其他功能融入你的日常工作流。
常见问题
是的,Copilot Edits 适用于 GitHub Copilot 支持的所有语言,包括 Python、Java、C++、TypeScript 和 Go。多文件编辑功能会自动适应你项目的语言和框架约定。
目前,上下文代理主要在 VS Code 中可用。JetBrains IDE 和 Visual Studio 对某些代理有有限的支持。请查看你的 IDE 的 Copilot 文档以了解特定代理的可用性。
Copilot 分析你的实际代码更改来生成遵循传统提交标准的相关提交消息。虽然通常准确,但你应该审查并调整它们以匹配团队的特定约定并添加任何缺失的上下文。
Understand every bug
Uncover frustrations, understand bugs and fix slowdowns like never before with OpenReplay — the open-source session replay tool for developers. Self-host it in minutes, and have complete control over your customer data. Check our GitHub repo and join the thousands of developers in our community.