如何使用 GitHub Copilot Spaces 更快调试问题
Source: GitHub Blog
如何使用 Spaces 调试问题
1. 从 Issue 开始
一位贡献者在你的项目中打开了一个 Issue,报告 check_call 的不安全用法。作为维护者,你可能并不知道立即该如何最佳修复。通常你会搜索仓库、查看过去的 Pull Request,并梳理安全指南。
使用 GitHub Copilot Spaces,你可以创建一个 Space,添加该 Issue 以及关键文件或文档,让 Copilot 一次性在所有内容上进行推理。
2. 为你的项目创建一个 Space
在 Space 中,添加:
- 设计模式(例如
/docs/security/check-patterns.md、/docs/design/architecture-overview.md) - 安全指南
- 可访问性建议
- 整个仓库(以获得广泛覆盖) 或 为你的特定用例挑选的最相关文件集合
- Issue 本身的 URL
3. 为 Copilot 添加指令
每个 Space 都包含一个 Instructions 面板,你可以在这里告诉 Copilot 在项目中如何工作。示例:
You are an experienced engineer working on this codebase.
Always ground your answers in the linked docs and sources in this space.
Before writing code, produce a 3–5 step plan that includes:
- The goal
- The approach
- The execution steps
Cite the exact files that justify your recommendations.
After I approve a plan, use the Copilot coding agent to propose a PR.
这些指令可以让 Copilot 保持一致,防止产生幻觉。
4. 让 Copilot 调试 Issue
所有准备就绪后,向 Copilot 询问:“Help me debug this issue.”
Copilot 能够识别你指的是哪个 Issue,因为它已经链接到该 Space。它会解析所有来源并返回一个清晰的计划,例如:
目标: 修复 runBinaryCheck 的不安全用法,确保对输入路径进行验证。
方法:
- 在仓库中搜索
runBinaryCheck的使用情况。 - 将每个使用情况与安全文档中的安全模式进行比较。
- 确定所需的重构。
- 为每个不安全使用的文件准备差异(diff)。
5. 生成 Pull Request
在批准计划后,告诉 Copilot:“Propose code changes using Copilot coding agent.”
代理会生成一个 Pull Request,内容包括:
- 文件的前后版本
- 变更说明
- 引用指导修复的具体文件
- 指导其选择的指令
每个文件都会显示是哪一条来源促成了建议,便于在合并前审计推理过程。
6. 如有需要进行迭代
如果有不对的地方,可在 Pull Request 评论中提及 @copilot 进行迭代,或返回 Space 重新生成。Spaces 默认是私有的,但你可以将其共享给特定个人、团队或整个组织(需管理员权限)。
在 IDE 中使用 GitHub Copilot Spaces
Spaces 现已通过 GitHub MCP Server 在你的 IDE 中可用。安装 MCP 服务器后,即可直接从编辑器调用你的 Spaces,获取同样的精选上下文和有依据的答案,无需离开开发环境。
即将推出
- 公共 API
- 图像支持
- 额外文件类型,如
.doc、.docx和 PDF
团队当前使用 Spaces 的三种方式
- 代码生成与调试 – 使用 Copilot 编码代理在 Spaces 中生成符合你的模式、安全规则和架构的 Pull Request。
- 功能规划 – 将 Issue、设计文档和仓库关联起来规划功能并起草需求。让 Copilot 给出技术方案,它会生成 Pull Request。
- 知识共享与入职培训 – Spaces 成为活的知识库,帮助新工程师更快上手,减少对现有成员的重复提问。
在下一个 Issue 上试一试
挑战自己:
- 创建一个 GitHub Copilot Space。
- 添加一个 Issue 和三至四个关键文件。
- 添加简短指令。
- 让 Copilot 分析 Issue 并提出调试计划。
- 批准该计划。
- 触发编码代理生成 Pull Request。
你会看到当 Copilot 真正了解你的项目时,能节省多少时间。你的 AI 助手永远不应缺少正确的上下文——这正是 Spaces 的意义所在。