首页 >科技周边 >人工智能 >Github Copilot Workspace入门

Github Copilot Workspace入门

William Shakespeare
William Shakespeare原创
2025-03-10 09:16:09888浏览

GitHub Copilot Workspace (CW) 技术预览版现已推出!CW 是一款以任务为中心的开发环境,允许您使用自然语言为代码库定义任务,并与 AI 协同完成这些任务。本指南将引导您通过多种入口点开始使用 Copilot Workspace。

目录

  • 任务启动入口点
    • GitHub Issue
    • 通过 CW 仪表盘创建即席任务
    • 通过代码库页面创建即席任务
  • 从模板创建代码库
    • 使用 GitHub.com 上的“使用此模板”
    • 使用仪表盘上的“新建会话”
    • 使用 URL
  • GitHub Copilot Workspace 的代码库维护者功能
  • 限制代码库中 GitHub Copilot Workspace 的使用
  • 已知问题和未来改进
    • 重写大型文件
    • 代码生成
    • 内容选择
    • 网络检索
    • 构建/测试修复
    • 小型任务与大型任务
    • 授权
  • 总结
  • 常见问题

任务启动入口点

高效启动任务对于保持生产力和简化工作流程至关重要。无论基于现有的 GitHub issue 还是从头创建新任务,CW 都提供多个入口点来帮助您轻松开始任务。通过利用这些灵活的选项,您可以快速从识别任务过渡到积极处理任务,确保平滑且有条理的工作流程,以满足您的需求。

1. GitHub Issue

如果您已经有描述要执行的任务的 GitHub issue,则从该 issue 开始非常简单。请按照以下步骤操作:

  • 打开 GitHub issue。
  • 在右侧面板的“开发”部分下,点击“在 Workspace 中打开”按钮。

此操作将在 Copilot Workspace 中打开 issue,并启动分析和解决 issue 的过程。

Getting Started with GitHub Copilot Workspace

2. 通过 CW 仪表盘创建即席任务

您也可以直接从 CW 仪表盘启动任务:

  • 打开 CW 仪表盘。
  • 点击“新建会话”部分下的“选择代码库”选项。
  • 搜索您要处理的代码库。
  • 选择代码库并从头定义一个新任务,类似于起草 issue。

为代码库执行任务后,它将显示在“新建会话”部分下的会话列表中,方便您为正在进行的项目选择新任务。

Getting Started with GitHub Copilot Workspace

3. 通过代码库页面创建即席任务

启动任务的另一种方法是直接从代码库页面启动:

  • 导航到您要处理的项目的代码库页面。
  • 点击绿色的“代码”按钮。
  • 在“Copilot”选项卡中输入新任务。
  • 提交任务。

这将带您进入 CW 并开始分析和解决任务的过程。

Getting Started with GitHub Copilot Workspace

从模板创建代码库

Copilot Workspace 允许您使用自然语言从模板创建代码库。

使用 GitHub.com 上的“使用此模板”

要使用 Copilot Workspace 创建代码库,请导航到 GitHub.com 上的模板代码库并选择“使用此模板”:

  • 点击“使用此模板”开始创建您的代码库。

Getting Started with GitHub Copilot Workspace

  • 该任务基于您提供的软件描述以及模板代码库的 README。

启动后,创建代码库的任务如下所示:

  • 该任务标记为“代码库”,并且“模板”面板指示模板代码库。

Getting Started with GitHub Copilot Workspace

Copilot Workspace 将根据您的描述生成代码库规范、创建计划和最终实现。

使用仪表盘上的“新建会话”

您还可以通过点击 Copilot Workspace 仪表盘上的“新建会话”按钮并搜索模板来从模板创建代码库。这将在工作区中打开一个新任务,您可以在其中描述要创建的软件。

使用 URL

您可以通过添加 ?template=true 作为查询参数来为任何代码库 URL 启用“创建代码库”模式。例如:

<code>https://copilot-workspace.githubnext.com/githubnext/hello-world?template=true</code>

某些代码库默认情况下被视为模板:

  • 任何 GitHub 模板代码库。
  • 组织中名称包含“templates”的任何代码库。
  • 名称包含“-template”、“-scaffold”、“-starter”或“-boilerplate”的任何代码库。

GitHub Copilot Workspace 的代码库维护者功能

作为代码库维护者,Copilot Workspace 可以通过多种方式为您提供帮助:

  • 您可以探索潜在的 issue 解决方法。
  • 您可以为潜在贡献者生成 issue 解决方法的草图,降低参与门槛。
  • 它可以帮助培养一种文化,在这种文化中,issue 创建者会留下更多关于如何解决 issue 的有用说明,供贡献者和 AI 助手使用。

例如,当您的代码库中提交新的 issue 时,您可以使用 Copilot Workspace 生成该 issue 的解决方案草图。然后,您可以使用“共享”按钮将此草图发布回 issue 线程,并附带关于您是否认为它有用以及可能需要改进哪些方面的附加评论。这可以帮助潜在贡献者更好地理解问题,并为他们的工作提供一个起点。

同样,当提交新的 issue 时,您可以要求贡献者为该 issue 创建 Copilot Workspace 会话。这可能会帮助贡献者更好地理解问题,并为他们的工作提供一个起点。您还可以将此指导包含在代码库的 issue 模板中,假设您的用户可以访问 Copilot Workspace。您还可以要求贡献者在 Copilot Workspace 会话中留下其他说明,这可以帮助未来的贡献者和 AI 助手更好地理解问题。

限制代码库中 GitHub Copilot Workspace 的使用

不守规矩的贡献者可能会过度使用 AI 辅助代码生成。因此,我们为代码库维护者提供了禁用直接使用 Copilot Workspace 在其代码库中创建 pull request 和/或 issue 评论的选项。

要禁用使用 Copilot Workspace 直接创建 pull request,请在代码库默认分支中创建一个名为 .github/copilot-workspace/policy.json 的文件,其中包含以下内容:

<code>https://copilot-workspace.githubnext.com/githubnext/hello-world?template=true</code>

要禁用使用 Copilot Workspace 直接生成包含 Copilot Workspace 会话链接的 issue 评论,请将以下内容添加到 policy.json 文件中:

<code>{
"allowPullRequests": false
}</code>

Copilot Workspace 用户仍然可以:

  • 创建 Copilot Workspace 会话的共享链接,并将它们粘贴到 issue 评论中。
  • 推送到代码库中的新分支(如果他们有写入权限)。
  • 推送到代码库分支的新分支。
  • 手动从分支创建 pull request。
  • 使用 Copilot Workspace 为他们自己的 pull request 和 issue 评论生成代码片段和文件,以供他们在自己的代码库中使用。

已知问题和未来改进

请记住,GitHub Copilot Workspace 是一个技术预览版,并且是一个积极开发的领域。本文档列出了一些已知问题和我们希望在未来改进产品的一些已知领域。

以下是我们正在积极努力改进 Copilot Workspace 的核心领域:

重写大型文件

当它实现涉及大型文件更改的计划时,可能需要很长时间才能完成。Copilot Workspace 目前使用“整个文件重写”,因为我们发现这在 Copilot Workspace 可用于的各种任务上实现了高度的彻底性。我们正在研究部分文件重写技术(自动和在用户指导下),以提高此操作的性能。

代码生成

Copilot Workspace 生成的代码质量并不总是完美的。它与使用的底层 AI 模型的质量高度相关。我们正在多个层面努力改进 Copilot Workspace 生成的代码质量。例如,代码生成的质量受任务的规划和规范质量以及评估和澄清这些任务的整体用户体验的影响。我们也在努力改进这些方面。达到的质量也与迭代生成的代码的经验有关。我们正在积极研究更细粒度的迭代技术。

内容选择

Copilot Workspace 中的内容选择有时可能不是最佳的,这会导致生成与任务无关的代码。我们正在努力改进 Copilot Workspace 中的内容选择。

网络检索

任务可以包含指向文档等网络资源的直接链接。此外,还可以从任务中推断出一些网络检索。Copilot Workspace 目前不执行网络检索,我们正在努力添加此功能。

构建/测试修复

生成代码后,可以使用 AI 和传统工具根据从构建、测试和运行代码生成的诊断信息来“修复”代码。我们在 Copilot Workspace 中已经有一些对此的支持,我们正在努力改进这一点。

小型任务与大型任务

有些任务非常小:更新文件的几行代码。有些任务非常大:逐个功能地实现一个全新的代码库功能。Copilot Workspace 目前是为 GitHub issue 的中等规模任务而设计的。我们有兴趣在更适合小型和大型任务的安排中提供 Copilot Workspace 核心概念的变体。例如,对于小型任务,我们可能会提供一个“精简版”的 Copilot Workspace,其中只有一个任务。对于大型任务,我们可能会提供一种将任务分解为子任务的方法。

授权

它使用 GitHub OAuth 应用程序进行身份验证。某些组织可能有策略,这些策略会限制 OAuth 应用程序与它们的代码库进行交互。除非组织管理员批准 Copilot Workspace OAuth 应用程序,否则您将无法在私有代码库中执行任务或在公共代码库中创建 pull request。我们正在努力为基于 GitHub 应用程序的 Copilot Workspace 添加第二个授权选项,并在可用时更新本文档。

总结

开始使用 Copilot Workspace 既简单又灵活,有多个入口点适合您的工作流程。无论是从 GitHub issue、CW 仪表盘还是代码库页面开始,您都可以轻松定义任务并与 AI 协作以增强您的开发流程。那么,您还在等什么?立即开始探索吧!

常见问题

Q1. 什么是 Copilot Workspace (CW)? 答:CW 是一种以任务为中心的开发环境,允许用户使用自然语言为代码库定义任务,并与 AI 协同高效地完成这些任务。

Q2. 如何在 Copilot Workspace 中启动任务? 答:您可以通过多种入口点启动任务: A. 通过点击“在 Workspace 中打开”从 GitHub issue 启动。 B. 通过选择代码库并定义新任务直接通过 CW 仪表盘启动。 C. 通过在“Copilot”选项卡中输入任务从代码库页面启动。

Q3. 我可以在 Copilot Workspace 中从模板创建代码库吗? 答:是的,您可以通过以下方式使用模板创建代码库: A. 在 GitHub.com 上选择“使用此模板”。 B. 点击 CW 仪表盘上的“新建会话”并选择模板。 C. 将 ?template=true 添加到任何代码库 URL。

Q4. Copilot Workspace 如何帮助代码库维护者? 答:它通过以下方式帮助维护者: A. 探索潜在的 issue 解决方法。 B. 为贡献者生成解决方案草图。 C. 鼓励详细的 issue 说明和说明。

Q5. Copilot Workspace 有哪些已知问题? 答:是的,一些已知问题包括: A. 重写大型文件缓慢。 B. 内容选择有时不是最佳的。 C. 模糊检测过于敏感。 D. 生成 pull request 说明时没有“停止”按钮

以上是Github Copilot Workspace入门的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn