你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

使用 AI 支持的工作流生成团队自定义项 (imagedefinition.yaml)

Dev Box 支持使用 GitHub Copilot 代理模式的代理工作流,以帮助使用自然语言提示生成团队自定义文件(imagedefinition.yaml)。 GitHub Copilot 通过允许你以对话方式描述需求,而不是手动创建 YAML 文件,简化了 Dev Box 环境的设置。

支持的方案

Dev Box 主动工作流支持以下场景:

  1. 模拟当前开发环境 - 生成或修改复制当前计算机的配置的定义。

  2. 使用存储库上下文 - 在特定 GitHub 存储库的上下文中创建或修改定义。

  3. 自然语言说明 - 通过描述所需的开发环境生成自定义文件。

注释

代理工作流仅支持 Dev Box 基元任务,包括 WinGet、PowerShell 和 Git-Clone。

先决条件

在开始之前,请确保安装以下软件:

生成团队自定义文件(imagedefinition.yaml)

  1. 打开 Visual Studio Code。

  2. 安装 Dev Box 扩展(如果尚未安装)。

    打开扩展(Ctrl+Shift+X),搜索 Dev Box 并安装扩展。

    Visual Studio Code 中“扩展”窗格的屏幕截图,其中显示了 Dev Box 扩展。

  3. 通过在“设置”编辑器中设置 chat.agent.enabled,确保启用代理模式。 此设置需要 VS Code 1.99 或更高版本。

  4. 在 VS Code 中打开 Copilot 聊天。

    • 请确保在“选择工具”下预选 Dev Box 工具

      Visual Studio Code 中 Copilot Chat 窗格的屏幕截图,其中显示了预选的 Dev Box 工具。

      Visual Studio Code 中 Copilot Chat 界面的屏幕截图。

    • 选择 代理模式,然后选择模型: Claude 3.5 Sonnet

      Copilot Chat 中代理模式选择的屏幕截图,其中显示了 Claude 3.5 Sonnet 模型。

  5. 提供自然语言提示,例如:

    • “我想配置开发框,其中包含处理此 [存储库名称] 存储库所需的所有工具和包。

    • “我想使用 Visual Studio 2022 Enterprise、VS Code、Git、.NET SDK 8、Node.js LTS、Docker Desktop 预配置开发框,并将团队的存储库 [URL] 克隆到开发框中。

    • “我想配置开发框,其中包含当前计算机上安装的所有开发工具和包。

    小窍门

    如果要在存储库的上下文中生成定义,请在 VS Code 中克隆并打开特定存储库。

  6. 按照提示配置包。

    • 出现提示时,选择 “继续 ”继续执行包配置。

    • Copilot 生成 imagedefinition.yaml 文件。

  7. 使用更多提示进行优化。

    • 继续与代理交互,直到所需的工具和包反映在文件中。

验证或应用定制化内容

在 Dev Box 实例中执行这些步骤。

  1. 当系统提示继续验证时,请选择 “继续 ”,或提供验证 imagedefinition.yaml 的提示。

    • 向代理提交提示: 验证 my imagedefinition.yaml 文件。
  2. 将自定义项应用于当前 Dev Box。

    • 打开命令面板(Ctrl+Shift+P)。

    • 选择 “应用自定义任务”。

    • 确认用户帐户控制(UAC)提示,以安装工具并应用设置。

      Visual Studio Code 中“应用自定义任务”选项的屏幕截图。

保存并配置项目以使用映像定义

imagedefinition.yaml 准备就绪后:

  1. 将文件保存到 GitHub 或 Azure DevOps 存储库。

  2. 将存储库作为目录附加到项目。

  3. 使用生成的 imagedefinition.yaml 配置 Dev Box 池:

    • 转到项目中的“Dev Box 池”

    • 创建新的 Dev Box 池或编辑现有池。

    • 选择通过 imagedefinition.yaml 创建的映像定义。

    • 有关详细信息,请参阅 在 Microsoft Dev Box 中管理开发框池

此方法可确保从此池创建的每个 Dev Box 都使用现成代码配置。

此 AI 支持的工作流简化了设置 Dev Box 自定义项的过程,使平台工程师和开发经理能够尽可能少地创建可重用、一致的环境。