什么是Azure GitHub Copilot?

Azure的GitHub Copilot是一个GitHub Copilot扩展,使开发人员能够使用自然语言:

  • 了解Azure功能。
  • 部署Azure资源。
  • 获取有关Azure资源的信息。
  • 诊断并排查Azure资源的问题。

必须有权访问Azure订阅,并订阅GitHub Copilot。 开始使用 扩展。

GitHub Copilot旨在帮助开发人员(包括Azure新手的开发人员)尽快提高工作效率。 对于经验丰富的Azure用户,Azure GitHub Copilot将取代以下需求:

  • 记住或查找Azure CLI命令和参数。
  • 手动创建复杂的部署脚本。
  • 登录并浏览Azure门户。

工作原理

适用于 Azure 的 GitHub Copilot 通过使用 Azure Model Context Protocol (MCP) Server 的工具调用能力,对最新基础大语言模型(LLM)的通用知识进行补充。 此服务器允许与Azure服务、系统和Azure Resource Graph交互,代表你执行特定任务。 已有数十个Azure服务可用,并且会定期添加更多服务和功能。 有关详细信息,请参阅 工具的完整列表 。 详细了解 Azure MCP Server 的功能。

Azure技能(包括azure-prepareazure-validateazure-deploy)也随扩展一起自动安装,从而为常见Azure任务启用结构化多步骤工作流。

支持的开发环境

可以在以下受支持的开发环境中将GitHub Copilot用于Azure:

支持的客户端 Description 功能阶段 下载链接
Visual Studio Code 通过GitHub Copilot用户界面展示适用于Azure的GitHub Copilot。 它还显示Azure MCP 服务器工具。 提供特定于 IDE 的工具和自定义模式。 正式发布时间 链接
Visual Studio 2022 通过GitHub Copilot用户界面显示Azure MCP服务器的内置工具。 在 Visual Studio 2022 v17.14.30+ 中可用;无需单独的 GitHub Copilot for Azure 扩展。 工具随Azure开发工作负载一起安装,并通过常规Visual Studio更新(Visual Studio安装程序)接收更新。 默认情况下禁用工具,必须启用一次;启用后,在会话之间保持启用状态。 需要GitHub Copilot订阅和Azure登录。 工具可用性反映Azure订阅权限。 公共预览 这些工具在安装 Azure 开发工作负荷时可用。
Visual Studio 2026 通过GitHub Copilot用户界面显示用于Azure和Azure MCP 服务器工具的内置GitHub Copilot。 正式发布时间 这些工具在安装 Azure 和 AI 开发工作负载时可用
Claude Code 通过 Claude Code AI 助手提供 GitHub Copilot for Azure。 提供Azure技能和Azure MCP 服务器工具。 正式发布时间 在 Claude Code 中运行 /plugin install azure@claude-plugins-official ,或在市场中运行 /plugin 并搜索“azure”。
Intellij (JetBrains) 通过 GitHub Copilot 插件,在 JetBrains IDE 中提供适用于 Azure 的 GitHub Copilot。 提供Azure MCP 服务器工具和Azure技能。 正式发布时间 从 JetBrains 市场安装 GitHub Copilot 插件

主要场景

Azure的GitHub Copilot目前支持四个主要方案:

类别 说明 示例
Learn 从最新的 Microsoft Learn 文档中了解Azure服务和工具。
  • “我应该对应用使用哪些Azure服务?”
  • “Azure OpenAI 模型的可用类型是什么?
  • “什么是Azure AI 搜索,我为什么要使用它?
  • “Azure SQL定价如何工作?”
设计和开发 在为云生成应用时,请寻求帮助。
  • 你能帮我用 Python 构建一个 RAG 应用程序以部署到 Azure 吗?
  • “使用 azd 取消Azure中的项目。
  • “我们是一家披萨公司,想要创建在线自定义比萨饼交付解决方案。 创建 API 以接受Azure上的披萨订单。
部署 创建Azure资源和部署应用。
  • “你能帮我将应用程序部署到Azure吗?
  • “我需要 CI/CD 管道,以便可以将应用部署到Azure。
  • 你可以使用 azd 从 Azure 卸载我的项目。
故障排除 诊断并排查应用程序和资源问题。
  • 是什么在消耗我在 Azure 上的 GPT-5 模型配额?
  • “了解为什么我的 Kubernetes 群集在Azure上运行缓慢。
  • “为什么我在Azure上打开我的网站时看到 500 个错误?

注释

请确保提示符“Azure”一词位于某个位置,以便 LLM 从Azure MCP 服务器调用相应的工具。

本文档提供了快速入门和示例提示,可帮助你尽快开始使用GitHub Copilot Azure。

最佳做法

首先,在完成多步骤任务时,使用 代理 模式获得最佳体验。 使用 Ask 模式(@azure)获取有关Azure服务的快速问题。

其次,在提示中包含“Azure”一词,以帮助Copilot了解它需要从Azure MCP 服务器调用工具。

第三,使用 copilot 可以通过回答问题、执行任务和生成代码来提高开发人员工作效率。 但是,请记住以下重要规则:

  • 查看所有 AI 生成的响应。 根据这些响应采取行动之前,请验证其正确性、适用性、潜在结果(如成本和安全性)。
  • 切勿在源代码中保存应用程序机密或凭据。
  • 提出问题时,切勿在问题或代码中提交应用程序机密或凭据。

使用基于大型语言模型的任何工具时,请使用良好的提示工程技术来获得最佳结果。 以下提示来自文章 为Azure中的Microsoft Copilot撰写有效提示,该文章为Azure上下文中的提示工程提供建议。

在代理模式下工作时,可以创建更长的提示,但在允许其作为您的代理执行操作之前,务必限制其功能,尤其是在使用 Azure 帐户时。 下面是生成较长提示的方法,可能有助于获得所需的结果。

  • 命令 - “在我授权之前不要采取任何行动。” 在确认其对提示的理解之前,防止副驾驶采取措施。
  • 描述 - 说明你希望发生的事情。 在这里,你将向同事详细描述工作内容,以确保同事能够成功地完成任务。
  • - “在开始之前,你是否有任何需要澄清的问题要问我?” - 给副驾驶员一个机会来识别不清楚的指示。
  • 反复调整 - 与 Copilot 反复交互,直到它理解你要它做什么。 在具备取得成功所需的一切之前,Copilot 可能需要多次尝试和迭代。
  • 请求 - “创建一个分步清单计划,以便我在授权你执行该计划之前可以查看。这不但促使副驾驶提前思考其行动并解释其方法,同时也需要遵循这些步骤并提供进展状态。
  • 审查 - 在某些时候,你可能会信任副驾驶,而不仔细检查其工作。 但是,最好是确保查看计划并阐明所需内容。
  • 授权 - “我审查了该计划,你有权开始。
  • 验证 - 花时间来仔细检查工作,以确保它达到你所期望的目标。

工具调用

GitHub Copilot for Azure在后台使用代理工具执行所有操作。 首次为Visual Studio Code发布时,由Azure团队负责的GitHub Copilot创建了专用工具供使用,但当前的策略是逐步转向使用由Azure MCP Server提供的工具。

下面是Azure GitHub Copilot当前支持的所有工具的列表。 此外,列出的迁移状态仅适用于Visual Studio Code版本。 默认情况下,Visual Studio 2022 版本使用Azure MCP 服务器工具。

Tool 说明和示例提示 迁移状态
Azure 列出活动日志 列出指定时间内资源的活动日志。
  • “显示 Web 应用的活动日志”
  • “过去 24 小时内我的 VM 发生了什么情况?
完成
Azure诊断资源(azure_diagnose_resource) 使用日志和遥测诊断应用性能或故障。
  • “为什么我的应用速度很慢?
  • “帮助我诊断应用的问题”
完成
azure_get_auth_context 检索当前Azure身份验证上下文(帐户、订阅、租户)。
  • 我使用的是哪个Azure帐户登录?
  • “显示我的当前租户”
N/A
azure_set_auth_context 更新Azure身份验证上下文(登录/注销、切换租户或订阅)。
  • "帮我登录Azure"
  • “更改我的订阅”
N/A
获取_azure_已验证_模块 获取资源类型的已验证Bicep模块。
  • “获取存储帐户Bicep模块”
  • “查找虚拟机的已验证模块”
已计划的
生成Azure CLI命令 根据用户意向生成Azure CLI命令。
  • “使用 Azure CLI 创建新资源组”
  • “列出资源组中的所有 VM”
完成
Azure推荐自定义模式 捕获与Azure相关的意向,并建议用于增强工作流的模式。
  • “我想生成Azure函数”
  • “帮助我部署到Azure”
N/A
azure_get_dotnet_template_tags 列出用于筛选.NET模板的标记。
  • “可以使用哪些.NET模板标记?
  • “显示Azure项目的模板类别”
N/A
Azure_dotnet_模板_for_tag 检索与 dotnet 新命令的给定标记匹配的.NET项目模板列表。
  • “显示Azure函数模板”
  • “获取 Web API 模板”
N/A
查询 Azure 资源图 (azure_query_azure_resource_graph) 使用 Azure Resource Graph 查询资源、订阅或资源组。
  • “列出我的所有虚拟机”
  • “显示资源组中的资源”
已计划的