Skip to content
| Marketplace
Sign in
Visual Studio Code>SCM Providers>AI 审查(AI Diff Review)New to Visual Studio Code? Get it now.
AI 审查(AI Diff Review)

AI 审查(AI Diff Review)

changqin

|
4 installs
| (0) | Free
对 AI 编码智能体(opencode、Cursor、Claude Code、Trae 等)产生的文件改动进行人工审查:逐块接受、逐块拒绝,或部分应用。
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

AI Diff Review

对AI 编码智能体(opencode、Cursor、Claude Code、Trae、Aider 等)产生的文件改动进行 逐块人工审查:可以逐条接受、逐条拒绝,也可以按文件或一键全部接受 / 拒绝。

原理

扩展会在文件系统层面记录一份 基线(baseline),也就是改动之前的文件内容。之后任何外部程序(包括 opencode)对工作区文件的改动都会被文件监听器捕获,并与基线对比生成 diff:

  • 接受(接受):把基线推进到当前磁盘内容 —— 保留这次改动,不再显示为待审查。
  • 拒绝(拒绝):把磁盘内容回退到基线 —— 丢弃这次改动。

因为接受 / 拒绝操作只影响被选中的 diff 块,所以可以做到“改 10 处,接受 7 处、拒绝 3 处”。

使用

  1. 用 VS Code 打开你的工程目录。
  2. 左侧活动栏会出现 AI 审查 图标,状态栏会显示 AI 审查: 0。
  3. 让AI 编码智能体开始改文件。
  4. 改动会被实时捕获,出现在 待审查改动 列表和 AI 审查 面板中。
  5. 在面板里对每个改动块点 接受 / 拒绝,或用当前文件、全局按钮。

命令(命令面板 Ctrl+Shift+P)

命令 说明
AI 审查: 打开审查面板 打开完整审查面板
AI 审查: 创建检查点 为还没有基线的文件补建检查点(幂等,不破坏已有待审查项)
AI 审查: 重置检查点 清空基线并以当前内容重新建立(会丢弃所有待审查项)
AI 审查: 全部接受 接受全部改动
AI 审查: 全部拒绝 拒绝全部改动(有确认弹窗)
AI 审查: 刷新 重新扫描工作区

审查入口

侧边栏(AI 审查 活动栏)

  • 上半部分 待审查改动:按 文件 → 改动块 两级展示的树视图。点击文件即可在右侧审查面板中打开该文件;行内按钮可逐块 / 按文件接受或拒绝。
  • 下半部分 全局操作:全局的 全部接受 (N) / 全部拒绝 (N) 按钮,作用于所有待审查文件。

审查面板(Webview,推荐)

  • 每次只显示当前打开的那一个文件,且显示的是整份文件内容(未改动行也完整显示,改动行高亮,删除行就地插入),而不是只显示变更片段。
  • 顶部工具栏是当前文件的操作:接受当前文件 / 拒绝当前文件(外加刷新)。
  • 文件信息条只显示路径 / 状态 / 增删统计,以及 打开原生对比 / 在资源管理器中显示,不放置接受或拒绝按钮。
  • 文件内部的每个改动块头部有块级的 接受 / 拒绝,位于块标题行内,不遮挡代码。
  • 任何接受 / 拒绝后,剩余块、行号、增删计数都会实时刷新。
  • 当前文件不会自动跳到下一个文件:当它没有差异(全部接受、全部拒绝或部分处理完)后,面板会继续显示该文件操作后的最终内容 —— 全部接受显示接受后的内容,全部拒绝显示原始内容,部分接受/拒绝显示最终结果。要查看其它文件,在左侧点击即可。

原生 diff 编辑器

  • 点 打开原生对比 或执行 AI 审查: 打开原生对比 打开 VS Code 内置 diff(基线 ↔ 工作区,整份文件)。
  • 为避免遮挡代码,块级操作放在悬停菜单里(鼠标移到某一块上即出现 接受此改动 / 拒绝此改动);编辑器标题栏只有文件级按钮(全局操作已移到底部「全局操作」)。
  • 接受 / 拒绝后 diff 两侧内容实时更新,当某文件全部审查完毕时其 diff 标签页会自动关闭,避免残留旧内容。

设置项

设置 默认值 说明
aiReview.autoCheckpoint true 激活时自动建立检查点(仅补齐缺失的基线)
aiReview.baselineFromGit false 以 git HEAD 作为基线,让已有的未提交改动也进入审查
aiReview.ignore 见下 不纳入审查的 glob
aiReview.maxTextFileKB 4096 超过此大小的文本文件只支持文件级接受/拒绝
aiReview.showStatusBar true 显示状态栏计数
aiReview.debounceMs 150 文件变更防抖时间(毫秒)

默认忽略:.git、node_modules、out、dist、build、各类 lock 文件等。

与 opencode 配合

opencode 直接写入磁盘文件,因此扩展的监听器会自动捕获,无需任何额外集成。推荐流程:

  1. 在 opencode 开始任务前,先确认扩展已激活(打开过一次工作区即可)。
  2. 编码助手改完文件后,在「AI 审查」面板里审查。
  3. 逐块接受 / 拒绝,或一键处理。

若希望每次任务前都刷新一个干净的基线,可配置 aiReview.baselineFromGit: true,这样审查范围就是相对 HEAD 的所有改动。

开发与调试

npm install
npm run compile      # 或 npm run watch

在 VS Code 中按 F5 启动 Extension Development Host,在新窗口里打开任意工程即可测试。 按 Ctrl+Shift+P → Developer: Show Running Extensions 可确认扩展已加载。

打包安装:

npm run package      # 生成 ai-diff-review-0.1.0.vsix
code --install-extension ai-diff-review-0.1.0.vsix

已知限制

  • 只追踪工作区内的文件(file scheme)。
  • 二进制文件与超大文件仅支持文件级接受 / 拒绝。
  • 基线存放在扩展的 workspace storage 中,不污染工程目录,但不同机器 / 工作区之间不共享。
  • 未保存的编辑器缓冲不参与比较,比较对象是磁盘内容。
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft