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:连接到 Azure 中的代码优化

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

验证应用程序的代码优化

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

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

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

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

    “性能”面板中的代码优化屏幕截图。

  4. 记下以下内容:

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

调用扩展

  1. 通过执行以下命令调用扩展,将占位符替换为 Application Insights 资源名称或应用程序 ID。

    @code_optimizations /insights <YOUR_APPLICATION_INSIGHTS_RESOURCE_NAME_OR_APPLICATION_ID>
    

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

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

  2. 按照 Copilot 响应中的提示创建其他问题的修复方案。

选项 2:根据代码优化中的 GitHub 问题优化代码

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

  • 使用代码优化问题编号。
  • 直接在 Visual Studio Code 中选择代码。

使用代码优化问题编号

在 Azure 门户中运行 /optimize 命令,并同时使用代码优化服务创建的 Azure DevOps 或 GitHub 工作项编号。

创建代码优化工作项
  1. 在门户中,从结果中选择一个性能问题。

  2. 在详细信息窗格中,单击“ 创建工作项”。

    用于在详细信息窗格中创建工作项的按钮的屏幕截图。

  3. 从下拉列表中,选择是要通过 Azure DevOps 还是 GitHub 创建问题。

    1. 从下拉列表中选择一个项目,或创建新项目。

      如果创建新项目,请输入项目 URL,然后单击“ 添加项目”。

    2. 单击该开关将问题标记为 “任务 ”或 “Bug”。

      使用 Azure DevOps 创建问题的选项的屏幕截图。

  4. 单击“ 创建工作项”。

/optimize运行命令
  1. 在 Visual Studio Code 中,使用 GitHub Copilot 调用带有你在 Azure 门户的代码优化服务中创建的问题编号的 /optimize。 在下面的示例中,“5”代表要修复的 GitHub 问题编号。

    @code-optimizations /optimize 5
    

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

  2. 命令:

    1. 提取问题的主体内容,其中包括调用堆栈、CPU使用率等信息。
    2. 使用代码优化模型生成代码修复。 此操作可能需要一些时间。
  3. 使用嵌入的聊天选项对代码修复进行任何其他更改。 可以让 Copilot 帮你完成以下任务:

    • 将方法名称从 <A> 更新为 <B>
    • 使用 API X 而不是 API Y 等等。

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

直接在 Visual Studio Code 中进行代码选择

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

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

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

选项 3:没有代码优化

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

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

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

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