Перейти к содержанию

Neovim

Bugsaur интегрируется с Neovim, но отношения здесь не обычные.

Bugsaur работает сам по себе. Neovim — интеграция, а не владелец.

Отладчик — единственный DAP-клиент и хозяин состояния сессии. Neovim правит код, ходит по исходникам и заведует точками останова. Закройте Neovim — сессия продолжит работать; подключитесь заново — он подхватит текущее состояние.

Поэтому setup() плагина несёт только настройки редактора и окна. Адаптеры, программы и launch-аргументы живут в .bugsaur/config.toml проекта, так что один setup() обслуживает сколько угодно проектов на любых языках: Rust, Go и PHP различаются своими конфигами, а не ветвлением в конфигурации редактора.

Что даёт интеграция

Запуск сессий :DebugStart, :DebugTest прямо от курсора
Работа с точками останова :ToggleBreakpoint, знаки в поле у номеров строк, условия
Навигация по исходникам на каждой остановке открывается файл в месте остановки
Маркер исполнения и подсветка строки, на которой стоит исполнение
Управление выполнением :DebugContinue, команды шага, :DebugStop
Управление окном :DebugFocus и опции поведения окна

Этот раздел

  1. Установка — подключить плагин к своему конфигу.
  2. Быстрый старт — первая сессия из редактора.
  3. Команды — все команды и что они делают.
  4. Клавиши — стандартные mappings и хоткеи самого окна.
  5. Синхронизация точек останова — как набор становится общим.
  6. Как устроена интеграция — сокеты, протокол, жизненный цикл.