Skip to main content
会话

Diff View

当 AI 建议对代码进行修改时,系统不会立即应用这些变更,而是Diff View的形式展示所有变更,供开发者审查,确保开发者在应用任何修改前,能完全理解变更内容,并保留最终控制权。本文介绍如何使用Diff View审查、管理和应用这些变更,包括在单个或多个文件中进行块级别的接收与拒绝操作。

Diff 预览格式

Diff View通过颜色区分新增、删除和未修改的代码行:
  • 新增内容:新增的代码行以绿色高亮显示。
  • 删除内容:删除的代码行以红色高亮显示。
  • 上下文代码:未变更的上下文代码以中性颜色显示,以帮助定位变更在代码库中的具体位置。
这种内联差异格式使您能够:
  • 看看究竟会发生什么变化
  • 了解做出改变的原因
  • 评估它如何适应现有的代码库
然后,您可以选择接受、编辑或拒绝每个更改。

在单个文件中Diff View

当智能体完成任务后,系统会进入Diff View模式,您可以逐一审查文件中的变更,按照变更块或整个文件为单位进行应用。

变更块级别操作

能用于对单个、独立的变更块进行精细化控制。在每个更改块的右上角:
  • 接受:应用当前变更块的修改。
  • 拒绝:放弃当前变更块的修改。

文件级别操作

用于对当前文件内的所有变更建议执行批量操作,在文件的底部:
  • 全部接受:应用当前文件中的所有建议修改。
  • 全部拒绝:放弃当前文件中的所有建议修改。
  • 文件导航:切换到其他包含待处理变更的文件。

在多个文件中Diff View

当一次任务的变更涉及多个文件时,您可以集中管理这些跨文件的修改,所有受影响的文件名会显示在AI Chat面板的上方。针对多文件场景,提供以下操作:
  • 全局操作:对所有文件进行批量处理
    • 接受:应用所有文件中列出的所有变更。
    • 拒绝:放弃所有文件中列出的所有变更。
  • 文件级操作
    • 单击文件名:跳转到该文件的Diff View。
      package com.macro.mall.demo.config;
      import org.mybatis.spring.annotation.MapperScan;
      import org.springframework.context.annotation.Configuration;
      /**
       * MyBatis related configuration
       * MyBatis相关配置
       *
       * This configuration class is mainly used for:
       * 1. Configuring MyBatis mapper scanning paths
       * 2. Enabling MyBatis auto-configuration features
       * 3. Integrating with Spring Boot to provide data access layer support
       *
       * 该配置类主要用于:
       * 1. 配置MyBatis映射器扫描路径
       * 2. 启用MyBatis的自动配置功能
       * 3. 与Spring Boot集成,提供数据访问层支持
       *
       * Created by macro on 2018/4/26.
       */
      // Spring configuration class for MyBatis related settings
      // Spring配置类,用于MyBatis相关设置
      // MyBatis configuration class responsible for data access layer configu...
      // MyBatis配置类,负责数据访问层配置
      @Configuration
      // Scan MyBatis mapper interfaces in the specified package and automatic...
      // 扫描指定包下的MyBatis映射接口,自动注册为Spring Bean
      // This allows direct injection of Mapper interfaces in the Service laye...
      // 这样可以在Service层直接注入Mapper接口进行数据库操作
      @MapperScan("com.macro.mall.mapper")
      public class MyBatisConfig {
          // This configuration class currently only needs the @MapperScan ann...
          // 该配置目前只需要@MapperScan注解即可完成基本配置
          // Spring Boot's auto-configuration will handle other MyBatis-relate...
          // Spring Boot的自动配置会处理其他MyBatis相关的配置
          // If you need to customize SqlSessionFactory or TransactionManager,...
          // 如需自定义SqlSessionFactory或TransactionManager可在此类中添加相应的@B...
      }
      
    • 将鼠标悬停在文件名上即可仅查看该文件的拒绝接受选项
这种多文件导航可以轻松管理复杂的跨文件重构。
产品概述
操作指南
实践教程
  • 编码使用实践
开发参考