审核 AI 生成的代码编辑

当您在 Visual Studio Code 中与聊天功能交互时,AI 可以在您的项目中生成跨多个文件的代码编辑。本文介绍了如何审查、接受或放弃这些由 AI 生成的代码编辑。

待处理的更改

一旦 AI 对您的文件进行了更改,这些更改会直接应用并保存到磁盘。VS Code 会跟踪哪些文件有待处理的编辑,并允许您逐个或一次性审查它们。

“聊天”(Chat) 视图显示了已编辑且等待您审查的文件列表。带有待处理编辑的文件在资源管理器视图和编辑器选项卡中也会有一个方点图标指示。

Screenshot that shows the Chat view, highlighting the changed files list and the indicator in the Explorer view and editor tabs.

当您打开已更改的文件时,编辑器会显示所应用更改的内联差异 (inline diff)。

当您关闭 VS Code 时,待处理编辑的状态会被记住,并在您重新打开 VS Code 时恢复。

审查更改

请按照以下步骤审查文件中的 AI 生成的代码编辑

  1. 通过从“聊天”视图的已更改文件列表中或从资源管理器视图中选择文件,打开有待处理编辑的文件。

  2. 使用编辑器覆盖层中的 向上向下 控件在文件内的单个编辑之间导航。

  3. 对于每次编辑,请选择以下操作之一

    • 选择 保留 (Keep) 以接受该编辑。
    • 选择 撤销 (Undo) 以拒绝该编辑并回退更改。
    • 将鼠标悬停在内联更改上,可以接受或拒绝该特定更改,而不会影响文件中的其他编辑。
  4. 或者,也可以从“聊天”视图一次性接受或拒绝所有文件中的所有更改。

Screenshot showing the Editor with proposed changes, highlighting the review controls in the editor overlay controls.

以下键盘快捷键有助于您导航和审查编辑

操作 快捷键
导航到下一个编辑 编辑器覆盖层中的 向下
导航到上一个编辑 编辑器覆盖层中的 向上

当您在文件中保留或撤销某项编辑时,编辑器会自动导航到下一个有待处理更改的编辑(可能在不同的文件中)。要禁用此自动导航并停留在当前文件中,请将 chat.editing.revealNextChangeOnResolve 在 VS Code 中打开 在 VS Code Insiders 中打开 设置为 false

源代码管理集成

如果您在“源代码管理”视图中暂存更改,则所有待处理的编辑都将自动接受。反之,如果您放弃更改,则所有待处理的编辑也会被放弃。

自动接受编辑

您可以配置 VS Code 在可配置的延迟后自动接受 AI 生成的代码编辑,请使用 chat.editing.autoAccept 在 VS Code 中打开 在 VS Code Insiders 中打开 设置。将鼠标悬停在编辑器覆盖层控件上可停止自动接受倒计时。

重要

如果您自动接受所有编辑,强烈建议在源代码管理中提交之前审查这些更改。了解更多关于 在 VS Code 中使用 AI 的安全注意事项

编辑敏感文件

为防止对敏感文件(如工作区配置文件或环境变量设置)进行无意的编辑,VS Code 会提示您在应用编辑前进行批准。在聊天中,您可以看到建议更改的差异视图,并选择批准或拒绝它们。

使用 chat.tools.edits.autoApprove 在 VS Code 中打开 在 VS Code Insiders 中打开 设置来配置哪些文件需要批准。该设置使用 glob 模式来匹配您工作区中的文件路径。

以下示例配置会自动允许对所有文件进行编辑,但 .vscode 文件夹中的 JSON 文件和名为 .env 的文件除外,这些文件需要您批准

"chat.tools.edits.autoApprove": {
  "**/*": true,
  "**/.vscode/*.json": false,
  "**/.env": false
}

从会话列表中审查文件更改

当会话完成并对您的项目进行代码更改时,会话列表会显示该会话的文件更改统计信息。要审查这些更改,请从列表中选择该会话以打开会话详细信息。

Screenshot of the file changes diff editor in an agent session.

根据代理类型的不同,您可以选择将更改应用到本地工作区,或者检出该会话的分支(适用于云代理)。

© . This site is unofficial and not affiliated with Microsoft.