Советы

Просто добавьте в чат файлы, которые нужно изменить.

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

Не добавляйте много файлов в чат

Просто добавьте файлы, которые, по вашему мнению, нужно отредактировать. Слишком много ненужного кода будет отвлекать и запутывать LLM. Aider использует карту всего вашего Git-репозитория. поэтому обычно знает о соответствующих классах/функциях/методах в других местах вашей кодовой базы. Можно добавить 1-2 очень важных файла, которые не нужно редактировать, но будьте избирательны.

Разбейте свою цель на небольшие шаги

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

В случае сложных изменений сначала обсудите план.

Используйте команду /ask , чтобы составить план с помощником. Как только вы определитесь с подходом, просто скажите «go continue» без префикса /ask .

Если помощник застрял

  • Используйте команду /clear , чтобы удалить историю чата и начать заново.
  • Можете ли вы /drop какие-нибудь дополнительные файлы?
  • Используйте /ask для обсуждения плана до того, как помощник начнет редактировать код.
  • Используйте команду /model , чтобы переключиться на другую модель и повторить попытку. Переключение между GPT-4o и Sonnet часто помогает решить проблемы.
  • Если помощник безнадёжно застрял, просто напишите следующий шаг самостоятельно, а затем попробуйте попросить помощника написать ещё. По очереди и программируйте в паре с помощником.

Создание новых файлов

Если вы хотите, чтобы Aider создал новый файл, сначала добавьте его в репозиторий с помощью команды /add <file> . Так Aider узнает о существовании файла и выполнит запись в него. В противном случае Aider может записать изменения в существующий файл. Это может произойти даже при запросе нового файла, поскольку LLM, как правило, в большей степени сосредоточены на существующей информации в своих контекстах.

Исправление ошибок и недочётов

Если ваш код выдает ошибку, используйте команду /run поделиться выводом об ошибке с помощником. Или просто скопируйте ошибки в чат. Пусть помощник разберётся, как их исправить.

Если тест не пройден, используйте команду /test для проведения тестов и поделитесь выводом об ошибке с помощником.

Предоставление документов

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

Актуальную документацию можно предоставить несколькими способами:

  • Вставляйте фрагменты документов в чат.
  • Добавьте URL-адрес документа в сообщение чата, и помощник извлечет и прочитает его. Например: Add a submit button like this https://ui.shadcn.com/docs/components/button .
  • Используйте команду /read для чтения doc-файлов в чат из любого места вашей файловой системы.
  • Если у вас есть соглашения по кодированию или постоянные инструкции, которым должен следовать помощник, рассмотрите возможность использования файла соглашений .

Прерывание и ввод

Используйте сочетание клавиш Control-C, чтобы прервать помощника, если он не даёт полезного ответа. Частичный ответ сохраняется в разговоре, и вы можете обратиться к нему, когда будете отвечать с дополнительной информацией или указаниями.

Длинные многострочные сообщения в чате можно отправлять несколькими способами:

  • Вставьте многострочное сообщение прямо в чат.
  • Введите один символ { в первой строке, чтобы начать многострочное сообщение, и один символ } в последней строке, чтобы завершить его.
    • Или начните с {tag (где «tag» — любая последовательность букв/цифр) и закончите tag} . Это полезно, когда вам нужно включить в сообщение закрывающие фигурные скобки } .
  • Используйте Meta-ENTER для начала новой строки без отправки сообщения (Esc+ENTER в некоторых средах).
  • Используйте команду /paste для вставки текста из буфера обмена в чат.
  • Используйте команду /editor (или нажмите Ctrl-X Ctrl-E если ваш терминал позволяет), чтобы открыть редактор и создать следующее сообщение чата. Подробнее см. в документации по настройке редактора .
  • Используйте многострочный режим, который меняет функции Meta-Enter и Enter: Enter вставляет новую строку, а Meta-Enter отправляет команду. Чтобы включить многострочный режим:
    • Для переключения этого режима во время сеанса используйте команду /multiline-mode .
    • Используйте параметр --multiline .

Пример с тегом:

{python
def hello():
    print("Hello}")  # Note: contains a brace
python}

Часто просят использовать сочетание клавиш SHIFT-ENTER для мягкого перевода строки. К сожалению, в терминалах нет переносимого способа определить это нажатие.