Работа с Git¶
Плагин Koda интегрируется со встроенными инструментами контроля версий вашей среды разработки. Вы можете автоматически формировать сообщения коммитов по стандарту Conventional Commits, передавать изменения в диалог с моделью для проверки перед фиксацией и обращаться к истории коммитов.
Генерация сообщений коммитов¶
v1.3.0
Вместо того чтобы вручную формулировать текст коммита, вы можете доверить эту задачу Koda. Плагин изучает текущие изменения и составляет лаконичное описание в соответствии со спецификацией Conventional Commits.
- Откройте панель Система управления версиями (Source Control) (⌃⇧G / Ctrl + Shift + G).
- Подготовьте нужные файлы к коммиту (
git add), если требуется зафиксировать только часть изменений. - В поле ввода сообщения коммита нажмите кнопку генерации сообщения или вызовите палитру команд (⇧⌘P / Ctrl + Shift + P) и выберите команду Koda: Generate Commit Message.
v1.3.2
- Откройте окно или панель Commit (⌘0 / Alt + 0).
- Выберите файлы, которые планируете включить в коммит.
- На панели действий над полем ввода сообщения нажмите кнопку генерации сообщения Generate Commit Message либо воспользуйтесь поиском действий Find Action (⇧⌘A / Ctrl + Shift + A) и введите
Koda: Generate Commit Message.
Как отбираются изменения¶
Koda учитывает состояние индекса Git:
- если в репозитории есть подготовленные к коммиту изменения, сообщение составляется строго по ним;
- если ни один файл не добавлен в индекс, плагин анализирует все текущие незакоммиченные изменения рабочей области;
- если изменений в репозитории нет, Koda уведомит вас об этом и не станет изменять текущий текст поля.
Перед вычислением изменений плагин автоматически актуализирует состояние файлов, поэтому учтутся даже только что сохранённые правки.
Формат сообщения¶
Сгенерированное сообщение строится по правилам Conventional Commits:
- начинается с типа изменений:
feat,fix,chore,refactor,docs,test,perfилиstyle; - содержит краткое описание сути правок длиной не более 80 символов;
- вставляется напрямую в поле сообщения коммита без окружающих кавычек, лишних блоков кода и служебных пояснений модели.
Если вам требуется сформировать сообщение в собственном стиле или на русском языке, вы можете воспользоваться пользовательской слеш-командой с шаблоном {{diff}}.
Индикация и отмена¶
Пока модель анализирует дифф и создаёт текст, в поле сообщения коммита отображается анимированный статус KodaChat is generating....
Если вы передумали или генерация занимает слишком много времени, операцию можно отменить. При отмене или закрытии панели Koda возвращает в поле сообщения тот текст, который был введён до начала генерации.
Контекст Git в диалоге¶
Помимо генерации сообщений коммитов, данные из Git можно передавать в чат или агенту:
@diff— добавляет текущие незакоммиченные изменения в контекст запроса. Это удобно для предварительной проверки кода перед коммитом: попросите модель найти забытые отладочные вызовы, потенциальные регрессии или несоответствие стилю проекта. Подробнее — в разделе Провайдер @diff.@commit— позволяет выбрать недавние коммиты рабочей области и прикрепить их изменения к сообщению. Подробнее — в описании провайдера commit.
Безопасность при работе агента¶
В режиме агента модель имеет доступ к выполнению команд в терминале проекта.
Однако внутренние правила Koda запрещают агенту самостоятельно выполнять git commit или отправлять код в удалённые репозитории без вашего явного запроса.
Все операции фиксации изменений и отправки веток остаются под вашим полным контролем. Подробнее о правилах поведения агента читайте на странице Правила и инструкции.