注意
GitHub 代码质量目前处于公开预览阶段,可能会有变更。在公开预览期间,代码质量不会产生费用,但代码质量扫描会消耗 GitHub Actions 分钟数。
简介
本教程向您展示如何在拉取请求中使用 GitHub 代码质量来识别可能因更改无意中引入的代码质量问题,以及如何使用 Copilot Autofix 与 Copilot 云代理来处理和解决代码质量问题。
提前捕获问题的好处
提前捕获代码质量问题可以保持团队代码库的良好状态。GitHub 代码质量会检查您的代码是否存在
- 可靠性:例如,逻辑错误、不安全的错误处理或可能导致应用崩溃或行为不可预期的竞争条件。通过及早解决此类问题,您可以使软件更加稳健可靠,提升用户体验。
- 可维护性:例如,重复的代码、过于复杂的逻辑、未使用的变量或违反编码最佳实践的情况。修复这些问题可以使代码更整洁、易读,从而加快后续修改并降低风险。
1. 了解 GitHub 代码质量在拉取请求中的工作原理
当您打开拉取请求时,GitHub 代码质量会使用 CodeQL 自动扫描您的更改,以查找上述类似的质量问题。
CodeQL 扫描的结果会作为评论出现在您的拉取请求中,由 github-code-quality[bot] 留下。每条评论对应于您更改中检测到的特定代码质量问题,并提供建议的自动修复。
评论会根据严重程度标记(错误、警告、提示),以便您了解哪些问题最需要处理。
2. 根据严重程度优先修复
浏览评论,首先确定最高严重级别(“错误”)的问题。
如果没有“错误”级别的问题,请查找下一级别(“警告”)的问题,依此类推。
高严重性的问题表明更严重的代码质量缺陷,可能导致代码库的可靠性或可维护性问题。解决这些高严重性的问题,您就在为维护团队代码质量做出最有影响力的工作。
注意
如果拉取请求包含特定严重级别或更高的代码质量问题,仓库管理员可能已设置代码质量门禁,阻止合并。请参阅 解决拉取请求的阻塞。
3. 利用 Copilot Autofix 或 Copilot 云代理修复问题
Copilot Autofix
拉取请求中的评论会提供一个建议的 自动修复,您可以直接将其提交到拉取请求。请仔细审查建议的自动修复在逻辑、安全性和风格方面的合理性,然后点击 提交建议。
您无需 Copilot 许可证即可应用这些建议。
Copilot 云代理
另外,如果您拥有 Copilot 许可证,可以将修复工作委派给 Copilot 云代理。在拉取请求中发表评论并提及 @Copilot,请求 Copilot 修复检测到的问题。

Copilot 会对您的评论回复一个眼睛表情 (👀),启动新的代理会话,并打开一个包含必要修复的拉取请求。
您可以跟踪 Copilot 云代理的工作
- 在拉取请求中,摘要会随工作进展实时更新。
- 使用 代理页面 或会话日志,参见 跟踪 GitHub Copilot 会话。
需要 Copilot 许可证才能调用 Copilot 云代理。
注册 Copilot
4. 驳回不相关的问题
如果某个问题在您的代码库上下文中不相关或不可操作,您可以将其驳回。常见的驳回原因包括
- 该问题位于已不再维护的旧代码中。
- 它是团队编码规范的已知例外。
- 它是不会造成真实质量风险的误报。
驳回不相关的警报可让质量检查专注于有意义的问题。
5. 推送更改并等待扫描
在修复或驳回问题后,将更改推送到与拉取请求关联的分支。GitHub 代码质量会自动重新扫描您的更改,并相应更新拉取请求中的评论。
6. 查看仓库的代码质量评级
拥有写入权限的用户都可以查看仓库的整体代码质量评级,这些评级概括了默认分支上代码的可靠性和可维护性状态。
要查看仓库的评级,请转到仓库的 安全与质量 选项卡,展开侧边栏中的 代码质量,然后点击 标准发现。
在合并拉取请求之前解决问题,您直接帮助维护了这些评级。