Перейти к содержимому

Просмотр изменений

Каждый раз, когда агент редактирует файл, изменения отражаются в панели изменений внутри чата. Вы можете просмотреть, принять или отклонить правки — для каждого файла по отдельности или все сразу.

Панель изменений появляется в чате, когда есть непринятые правки. Она показывает:

  • Количество изменённых файлов
  • Суммарное количество добавленных и удалённых строк
  • Список файлов с индивидуальными счётчиками строк

Нажмите на заголовок панели, чтобы развернуть список файлов. Нажмите на конкретный файл, чтобы открыть его в редакторе — курсор автоматически переместится к первой изменённой строке.

Нажмите кнопку с иконкой FileDiff в заголовке панели, чтобы открыть все изменённые файлы в многофайловом просмотрщике diff. Это удобно для обзора всех правок перед принятием решения.

Встроенные фрагменты изменений в чате убирают отступ, общий для всех показанных строк. Глубоко вложенные правки легче просматривать, а содержимое файла и относительные отступы не меняются.

Одобрение связано с той версией файла, которая была показана в предпросмотре. Если файл или его открытая рабочая копия изменились до одобрения, Kodik не затрагивает новое содержимое и просит агента перечитать файл и подготовить новый предпросмотр. Одновременные правки одного файла применяются в порядке запросов, а правки разных файлов по-прежнему могут выполняться параллельно.

Если текстовый файл уже открыт и не содержит несохранённых изменений, Kodik применяет одобренную правку через рабочую копию редактора и сохраняет её как одно отменяемое изменение диапазона. Если в редакторе есть несохранённые изменения, Kodik отклоняет правку агента до одобрения; сохраните или отмените свои изменения и попросите агента повторить попытку. Несохранённый буфер и его версия на диске не перезаписываются.

Аккордеон правки в чате показывает все добавленные и удалённые строки, в том числе при больших перезаписях файла. Длинный diff сначала свёрнут и передаётся из нативной части в чат как компактная ссылка на точный проверенный план правки. При открытии и прокрутке аккордеон запрашивает только видимые диапазоны и хранит ограниченный кэш страниц, включая первый и последний диапазоны. Полный просмотр остаётся доступным без копирования отдельного объекта для каждой изменённой строки в состояние чата, а те же привязанные к версии диапазоны восстанавливаются после перезагрузки окна.

Kodik вычисляет большие построчные diff в ограниченном пуле worker. Полная перезапись без общих строк использует точный линейный путь; остальные правки сохраняют точные диапазоны строк, не запуская сопоставление в общем renderer workbench.

Большие правки остаются в панели изменений, но не открывают тяжёлый встроенный просмотр редактора автоматически. Нажмите на файл или Просмотреть изменения, когда захотите его проверить; действия принятия и отмены остаются доступны и при закрытом просмотре.

Когда файл с изменениями открыт в редакторе, доступны следующие сочетания клавиш (при условии, что фокус в редакторе и активен режим проверки файлов):

Действие Сочетание
Перейти к следующему файлу Alt+Right
Перейти к предыдущему файлу Alt+Left
Принять изменения в файле Alt+A
Отклонить изменения в файле Alt+R

Отдельный файл:

  • В списке файлов наведите курсор на файл — появятся кнопки с иконками Check (принять) и X (отклонить).
  • В заголовке редактора используйте действия перехода вперёд/назад, принятия и отклонения; те же действия доступны с клавиатуры через Alt+A / Alt+R.

Все изменения сразу:

  • Оставить все — принимает все правки и перемещает базовую точку вперёд.
  • Отменить все — откатывает рабочее пространство к состоянию до всех текущих правок. Kodik обрабатывает это как одну пакетную операцию проверки и из кнопки панели, и через Alt+U, поэтому многофайловая отмена проходит одни и те же проверки конфликтов в обоих путях.

Если авто-одобрение для редактирования файлов включено, правки применяются автоматически без появления запроса. Панель изменений всё равно показывает все правки, и вы всегда можете воспользоваться кнопкой Отменить все или откатиться через контрольную точку.