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

Visual Studio Code 的代码优化扩展(预览版)

通过使用 Visual Studio Code 的代码优化扩展,可以为运行中的代码优化标识的性能问题生成代码修复建议。 NET 应用。

本文介绍如何在 Visual Studio Code 中将扩展与 GitHub Copilot 配合使用。

先决条件

安装代码优化扩展(预览版)

安装 Visual Studio Code 的代码优化扩展

首次运行扩展时,可能会看到两个对话框提示,要求登录 Azure 并连接到 GitHub Copilot 帐户。

使用扩展修复代码中的性能问题

安装后,代码优化扩展(预览版)会引入一个名为 @code_optimizations 的代理,它包含一些命令或“技能”,你可以在 GitHub Copilot 中使用这些内容来处理代码优化问题。

  1. 在 Visual Studio Code 中,打开保存 .NET 应用程序的存储库,并启用代码优化。
  2. 打开 GitHub Copilot 聊天。

在 Visual Studio Code 中使用代码优化扩展有两个选项:

选项 1:启用代码优化

虽然在应用程序上使用启用了代码优化的扩展需要更多的设置步骤,但会在代码中收到更准确的修复建议。

验证应用程序的代码优化

若要开始使用,请确保已认可针对应用程序的代码优化。

  1. 在 Azure 门户中导航到 Application Insights 资源。

  2. 选择“调查”>“性能”

  3. 在“性能”边栏选项卡中,选择顶部菜单中的“代码优化”按钮。

    “性能”边栏选项卡中的“代码优化”的屏幕截图。

  4. 记下以下内容:

    • Application Insights 资源名称。
    • 用于登录 Azure 门户的帐户。

获取应用的应用程序 ID

  1. 在门户中导航到 Application Insights 资源。

  2. 选择“配置”>“API 访问”

  3. 记下 API 访问权限窗格顶部的应用程序 ID。

    在 Azure 门户中查找应用程序 ID 的屏幕截图。

调用扩展

  1. 通过执行以下命令调用扩展,将占位符替换为之前保存的应用程序 ID。

    @code_optimizations /connect <YOUR_APPLICATION_ID>
    

    该命令从代码优化中提取最重要的问题,将这些问题与本地存储库中的源代码相匹配,并提出修复/建议。 扩展会自动生成最重要的建议。

    在 Visual Studio Code 中运行代码优化连接命令的结果的屏幕截图。

  2. 按照 Copilot 响应中的提示生成其他问题的修复程序。

优化代码

除了 @code-optimizations /connect 命令之外,还可以使用 /optimize 命令来解决代码中的问题。 该扩展提供了两种方法来使用 /optimize 命令。

@code-optimizations /optimize <GITHUB_ISSUE_NUMBER>

  1. 调用 /optimize 并附上 Azure 门户中代码优化服务创建的 GitHub 问题编号。 在下面的示例中,“5”代表要修复的 GitHub 问题编号。

    @code-optimizations /optimize 5 
    

    在 copilot 中运行优化命令的屏幕截图。

  2. 命令:

    1. 拉取问题的正文,其中包括调用堆栈、CPU 使用率等。
    2. 使用代码优化模型生成代码修补程序。 此操作可能需要一些时间。
  3. 生成代码修复内容后,单击“与原始代码比较”按钮来查看建议的修复以及原始代码。

    “与原始代码比较”按钮的屏幕截图。

  4. 使用嵌入的聊天选项对代码修复进行任何其他更改。 例如,要求 Copilot:

    • 将方法名称从 <A> 更新为 <B>

    • 使用 API X 而不是 API Y 等等。

      将查询与 Copilot 配合使用的内联编辑工具的屏幕截图。

  5. 准备就绪后,单击“接受修复”

    查看建议时显示“接受修复”按钮的屏幕截图。

代码选择 + @code-optimizaitons /optimize

直接为选定的代码触发 /optimize。 使用此方法,可以主动优化一些你认为存在性能问题的代码。

  1. 选择可能存在问题的代码,或将光标悬停在存在性能问题的方法上。
  2. 在 Copilot 聊天中调用 /optimize 命令。

然后,可以运行基准/负载测试来确保更改能够提高性能,并运行单元测试来确保代码语义得到保留。

选项 2:未启用代码优化

可以在未启用代码优化的情况下使用 Visual Studio Code 扩展。 虽然这种方法需要的设置时间较少,但你可能会收到不太准确的修复建议。

  1. 选择可能存在问题的代码,或将光标悬停在存在性能问题的方法上。

  2. 在 Copilot 聊天中调用 /optimize 命令。

    在未启用代码优化的情况下在 .NET 代码上运行优化命令的结果的屏幕截图。