1.1.3
13 · Настольное приложение

Git и редактор

Откройте корневую папку проекта. Для работы с Git на компьютере должна быть установлена программа Git.

Git и встроенный откат

Выбор Git-ветки у поля ввода и команда /diff работают, только если папка проекта — Git-репозиторий. Если репозитория нет, создайте его или клонируйте существующий: открытие папки в приложении репозиторий не создаёт.

Встроенный откат использует журнал правок ядра: перед изменением файла ядро сохраняет его содержимое, которое затем можно восстановить. Поэтому для отката правок агента не нужны ни Git-репозиторий, ни предварительный коммит. Ветка и история коммитов при таком откате не меняются. Условия отката описаны в разделе «Проверка, откат и повтор запроса».

Проверить изменения

Вид Изменения правой колонки (кнопка Изменения в правом верхнем углу окна или Ctrl+2) показывает только правки агента в текущей сессии. Команда /diff показывает изменения в папке проекта так же, как git diff, и добавляет новые файлы, которые ещё не добавлены в Git (кроме игнорируемых). В этот список входят и ваши правки, сделанные до запроса или во внешнем редакторе; изменения, уже добавленные в индекс командой git add, в него не входят. Поэтому списки в правой колонке и в /diff могут различаться.

В проекте у строки Правка в ленте есть кнопка Открыть в инспекторе: она открывает вид Изменения на этом файле. Счётчики + и − относятся только к этой правке.

Состояние репозитория можно проверить ручной командой !git status, когда агент не работает; как выполняются ручные команды, см. раздел «Права и подтверждения».

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

Просмотр файлов

Приложение открывает файлы во встроенном просмотре, не запуская внешних программ:

Тип Как показывается
Markdown С оформлением; переключатель Показать исходник показывает исходный текст. Файл длиннее 200 000 символов показывается без оформления
Текст и код С номерами строк и подсветкой; в проекте строки, изменённые агентом в сессии, отмечены у номеров. Показываются первые 2 МБ файла
Картинки (PNG, JPEG, GIF, WebP, BMP, ICO, SVG) Переключатели Вписать и 100 %; у SVG можно открыть исходник. До 50 МБ
PDF Кнопки Предыдущая страница и Следующая страница, поле номера страницы (введите номер и нажмите Enter), кнопки масштаба и По ширине; текст можно выделять и копировать. До 50 МБ

Файл открывается в просмотре щелчком по нему в дереве файлов, по ссылке или пути в ответе агента, по вложению или карточке файла в ленте, из общего поиска (Ctrl+K) и кнопкой Открыть файл в виде Изменения. Если агент изменил открытый файл, просмотр перечитывает его сам.

  • В проекте файл открывается вкладкой документа в правой колонке; вкладки и меню ⋯ описаны в разделе «Интерфейс и навигация».
  • В чате без проекта файл открывается так же — вкладкой документа в колонке справа от ленты (в узком окне — поверх неё), со строкой пути и меню ⋯. Крестик в правом верхнем углу колонки (Закрыть просмотр) закрывает все документы; клавиша Esc тоже закрывает просмотр, а развёрнутый на всё окно — сначала возвращает рядом с чатом.

Файл агента, лежащий вне папки проекта, отмечен Вне проекта. Если открыть файл нельзя, просмотр объясняет причину:

Сообщение Что сделать
Файл не найден Файл переместили или удалили. Нажмите Копировать путь, чтобы поискать его
Файл в сетевой папке Приложение не открывает файлы по сетевым путям. Нажмите Копировать путь и перенесите файл на компьютер
Это программа Приложение не запускает программы и скрипты. Нажмите Показать в папке и запустите файл сами, если доверяете ему
Формат не поддерживается Нажмите Открыть в программе по умолчанию — файл откроется в программе, назначенной в системе
Файл слишком большой Нажмите Открыть в программе по умолчанию
Не удалось открыть файл Прочитайте причину, например файл открыт в другой программе, и нажмите Перечитать файл

Открыть в редакторе

Файл. Внешний редактор открывается из меню:

  • в правой колонке — кнопка ⋯ (Действия с файлом) или правый щелчок по вкладке документа или строке пути над ним, пункт Открыть в…;
  • в дереве файлов — кнопка Открыть файл, которая появляется при наведении указателя на строку файла;
  • в виде Изменения — кнопка ⋯ у файла, пункт Открыть в… (кнопка Открыть файл там открывает встроенный просмотр);
  • в чате без проекта — так же, как в правой колонке проекта: кнопка ⋯ или правый щелчок по вкладке документа или строке пути, пункт Открыть в….

Первый пункт меню открывает файл в редакторе, выбранном в прошлый раз, а подменю Открыть с помощью перечисляет найденные на компьютере программы:

  • внешний редактор кода, который запускается командой code, — во всех ОС;
  • gedit, Text Editor, Kate, Xed и Mousepad — в Linux;
  • Visual Studio и Блокнот — в Windows;
  • Редактор по умолчанию — программа, которую ОС назначила для этого типа файлов; этот пункт есть всегда. Программы и скрипты этим пунктом не запускаются.

Выбранная программа запоминается и в следующий раз стоит в меню первой. Список программ обновляется при каждом открытии меню: если нужной программы нет, установите её и откройте меню снова.

Папка проекта. Щёлкните правой кнопкой по вкладке сессии проекта (или нажмите Shift+F10, когда вкладка в фокусе) и выберите пункт Открыть в редакторе. Папка открывается во внешнем редакторе кода, который запускается командой code. Других программ для папки приложение не предлагает: если такого редактора нет, откройте папку в нужной программе сами.

Изменения из внешнего редактора ядро не отслеживает. Откат файла, который вы правили в редакторе после агента, ядро отклонит, а кнопка Все равно откатить перезапишет ваши правки.

Переключить Git-ветку

На начальном экране новой сессии проекта над полем ввода показана текущая Git-ветка, если папка проекта — Git-репозиторий. Щёлкните по ней и выберите локальную ветку. В открытой сессии ветка показана в поле ввода только для сведения.

Переключение меняет состояние папки проекта. Если хотя бы в одной сессии выполняется запрос, работает терминал или идёт откат, ветку переключить нельзя (подсказка Смена ветки доступна после завершения хода).

Если Git отказал, причина показана под списком веток:

Сообщение Что сделать
«Нельзя переключиться на «…»: ветка перезапишет незакоммиченные изменения (…). Закоммитьте их или уберите в stash.» Сохраните или разберите изменения средствами Git, затем повторите переключение
«Нельзя переключиться на «…»: ветка перезапишет ваши файлы вне git (…). Переместите или удалите их.» (или «удалит») Перенесите перечисленные файлы, которые не добавлены в Git, в другую папку
«Ветка «…» уже открыта в другой рабочей копии: …. Переключите там ветку или выберите здесь другую.» Ветка используется в отдельном рабочем дереве Git (git worktree). Переключите ветку там или выберите другую
«Не удалось переключиться на «…»: …» с текстом Git Прочитайте текст Git и устраните причину средствами Git

Способы ветвления

Действие История сессии Файлы
/fork или пункт Создать ветку Ответвление переписки: новая сессия с копией истории Общая папка
/side Побочный разговор во временном ответвлении; его контекст теряется после перезапуска ядра Общая папка
Git-ветка Сохраняется текущая сессия Меняется состояние общего рабочего дерева
Отдельное рабочее дерево Git (git worktree) или копия проекта Откройте папку как отдельный проект и создайте в нём сессию Отдельная папка

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