Русский

Проверка кода

Проверка кода

Проверяйте изменения кода в клиентах ChatGPT и Codex

Используйте ChatGPT или Codex, чтобы проверить изменения кода перед коммитом или отправкой в удалённый репозиторий.

Начало проверки

В ChatGPT Work загрузите код, который нужно проверить, или предоставьте к нему доступ через установленный плагин системы управления исходным кодом. В запросе укажите pull request, ветку, коммит, файлы и критерии проверки.

Проверка в приложении

Откройте панель проверки, чтобы понять, что изменилось, оставить комментарии к конкретным строкам и решить, какие изменения добавить в индекс, отменить, закоммитить или отправить в удалённый репозиторий.

Чтобы попросить Codex проверить изменения, введите /review в поле ввода. Выберите Проверить относительно базовой ветки или Проверить незакоммиченные изменения. Codex выводит приоритизированные замечания, не изменяя ваше рабочее дерево.

Для работы панели проверки проект должен находиться в репозитории Git. Если ваш проект ещё не является репозиторием Git, приложение предложит создать его.

Введите /review, чтобы открыть предустановленные варианты проверки в CLI. Codex запустит отдельного рецензента, который прочитает выбранные изменения и сообщит о приоритетных замечаниях с конкретными рекомендациями, не изменяя рабочее дерево.

Введите /review в поле ввода расширения IDE. Выберите Проверить относительно базовой ветки или Проверить незакоммиченные изменения. Codex сообщит о приоритетных замечаниях, не изменяя рабочее дерево.

Команда /review отображается, только если открытый проект находится в репозитории Git.

Выбор области проверки

Укажите в запросе pull request, ветку, коммит или файлы, которые нужно проверить. Чтобы проверить локальные файлы, недоступные через установленный плагин системы управления исходным кодом, загрузите их в чат.

Какие изменения отображаются

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

По умолчанию панель проверки показывает изменения Не добавлено в индекс. Выберите Добавлено в индекс для индекса Git, Коммит для выбранного коммита, Ветка для разницы относительно вашей базовой ветки или Последний ход для последнего хода ассистента.

Проверка нескольких репозиториев

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

Выберите Последний ход, чтобы увидеть последние изменения ассистента во всех подключённых репозиториях. Для этого представления переключатель репозиториев показывает Все репозитории. Другие области проверки, например Не добавлено в индекс, Добавлено в индекс и Ветка, применяются к выбранному вами репозиторию.

Выберите одну из следующих областей проверки /review:

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

Выберите одну из следующих областей проверки /review:

  • Проверить относительно базовой ветки — сравнивает текущую ветку с выбранной вами веткой.
  • Проверить незакоммиченные изменения — проверяет изменения в рабочем дереве.

Работа с результатами проверки

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

Результаты проверки кода

Замечания проверки отображаются как встроенные комментарии в панели проверки.

По умолчанию проверка выполняется в текущем чате. В разделе Настройки > Общие > Проверка кода выберите Отдельно, чтобы начать проверку в отдельном чате. См. настройки для разработчиков.

Встроенные комментарии по проверке кода на панели проверки

Проверка отображается в расшифровке как отдельная реплика. Задайте review_model в config.toml, если хотите использовать для проверок модель, отличную от модели текущего сеанса.

По умолчанию проверка выполняется в текущем чате. Задайте для chatgpt.reviewDelivery значение detached, если хотите, чтобы /review запускала отдельный чат для проверки. См. справочник по настройкам расширения IDE.

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

Если вы попросите Codex применить найденные исправления, будут действовать ваши обычные настройки песочницы и подтверждений.

Навигация по панели проверки

  • При нажатии имени файла он обычно открывается в выбранном вами редакторе. Редактор по умолчанию можно выбрать в настройках разработчика.
  • Нажатие фона имени файла разворачивает или сворачивает разницу.
  • Нажатие отдельной строки при удерживаемой клавише Cmd открывает эту строку в выбранном редакторе.
  • Если изменение вас устраивает, его можно добавить в индекс или отменить ненужные изменения.

Встроенные комментарии для обратной связи

Встроенные комментарии позволяют прикреплять замечания непосредственно к конкретным строкам разницы. Часто это самый быстрый способ направить Codex к правильному исправлению.

Чтобы оставить встроенный комментарий:

  1. Откройте панель проверки.
  2. Наведите указатель на строку, которую хотите прокомментировать.
  3. Нажмите появившуюся кнопку +.
  4. Напишите свой комментарий и отправьте его.
  5. Закончив оставлять комментарии, отправьте сообщение в чат.

Поскольку комментарии привязаны к строкам, Codex может ответить точнее, чем при общей инструкции.

Codex воспринимает встроенные комментарии как указания по проверке. Оставив комментарии, отправьте дополнительное сообщение, явно описывающее ваше намерение, например: «Учти встроенные комментарии и внеси только минимально необходимые изменения».

Проверки запросов на включение изменений

Если Codex имеет доступ к GitHub для вашего репозитория, а текущий проект находится в ветке запроса на включение изменений, настольное приложение ChatGPT поможет обработать замечания к запросу на включение изменений, не покидая приложение. На боковой панели отображаются контекст запроса на включение изменений и отзывы проверяющих, а панель проверки показывает комментарии рядом с разницей, чтобы вы могли попросить Codex устранить проблемы в том же чате.

Установите GitHub CLI (gh) и выполните аутентификацию с помощью gh auth login, чтобы Codex мог загрузить контекст запроса на включение изменений, комментарии проверки и изменённые файлы. Если gh отсутствует или не аутентифицирован, сведения о запросе на включение изменений могут не появиться на боковой панели или в панели проверки.

Используйте этот процесс, если хотите выполнить полный цикл исправления в одном месте:

  1. Откройте панель проверки в ветке запроса на включение изменений.
  2. Просмотрите контекст запроса на включение изменений, комментарии и изменённые файлы.
  3. Попросите Codex исправить конкретные замечания, которые нужно обработать.
  4. Проверьте полученную разницу в панели проверки.
  5. Когда будете готовы, добавьте изменения в индекс, создайте коммит и отправьте их в ветку запроса на включение изменений.

О проверках, запускаемых из GitHub, см. в разделе Использование Codex в GitHub.

Добавление файлов в индекс и отмена изменений

Панель проверки содержит действия Git, позволяющие сформировать разницу перед созданием коммита.

Добавлять в индекс, убирать из него или отменять изменения можно на следующих уровнях:

  • Вся разница: используйте кнопки действий в заголовке панели проверки, например Добавить всё в индекс или Отменить всё.
  • Отдельный файл: добавьте в индекс, уберите из него или отмените изменения отдельного файла.
  • Отдельный блок: добавьте в индекс, уберите из него или отмените один блок изменений.

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

Состояния добавленных и не добавленных в индекс изменений

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