一句话结论:使用 GitHub Copilot 编程时,先给目标和相关文件,再把复杂需求拆成小任务,并要求测试和验证,比只输入一句“帮我写代码”更可靠。
本文根据 GitHub 官方提示工程建议整理,适用于 Copilot Chat、代码解释和重构场景。代码建议必须经过本地测试、代码审查和安全检查,不能把模型输出直接当成可上线代码。
一条可复用的编程提示词
目标:为用户列表增加按邮箱搜索功能。
项目背景:这是一个已有的 TypeScript Web 项目,搜索结果需要分页。
相关文件:请先阅读 src/users、src/api/users.ts 和现有测试目录。
要求:
1. 先说明修改计划,不立即改动无关文件。
2. 保持现有 API 返回格式兼容。
3. 为空输入、大小写和分页边界增加测试。
4. 完成后列出修改文件、运行的测试和仍需人工确认的风险。
推荐工作流
- 先问项目:让 Copilot 解释目录、入口和现有约定。
- 再拆需求:把接口、数据层、界面和测试分成独立任务。
- 限定范围:明确允许修改的文件,避免无关重构。
- 边写边测:每完成一个小任务就运行对应测试。
- 最后审查:检查鉴权、输入校验、错误处理和依赖变化。
如何减少歧义
告诉 Copilot 现有框架、语言版本、命名约定和不能破坏的兼容性。遇到报错时,附上完整错误、触发步骤和相关代码片段,不要只说“它坏了”。如果模型给出多个方案,先让它比较取舍,再选择一个实现。
测试提示词示例
请为刚才的搜索函数补充测试:
- 正常匹配一条和多条结果;
- 无匹配结果;
- 大小写差异;
- 空字符串和超长输入;
- 第 1 页、第 0 页和超出总页数。
只修改测试文件,并说明每个用例验证的行为。
常见问题
Copilot 能替代代码审查吗?
不能。它可以辅助解释和生成测试,但安全、权限、性能和业务正确性仍需开发者审查。
提示词要把整个项目都贴进去吗?
不需要。先指定相关目录和文件,提供完成任务所需的最小上下文。
遇到连续错误怎么办?
停止重复生成,回到最小复现,提供错误日志和当前实现,让模型先定位原因。
如何避免无关重构?
明确“只修改这些文件”“保持公共接口不变”,并要求先输出计划。
AI 写的依赖能直接安装吗?
不能直接信任。检查许可证、版本、漏洞和是否真的解决问题。
信息来源与说明
本文参考 GitHub Copilot 官方提示工程文档整理。具体快捷键和产品能力会随 IDE 与版本变化。