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

Настройка

Что и как отлаживать, описывает сам проект — в <корень>/.bugsaur/config.toml. Файл читает отладчик, а не редактор: bugsaur из терминала обязан видеть ровно ту же конфигурацию, что и :DebugStart из Neovim.

Корень проекта

Корень — ближайший вверх по дереву каталог с .bugsaur/config.toml. Поиск идёт от файла, на котором запустили отладку. Ближайший конфиг выигрывает у объемлющего, слияния слоёв нет.

Если конфига нет вовсе, поиск продолжается вверх до маркера языка — go.mod, Cargo.toml, composer.json, pyproject.toml / setup.py / requirements.txt, — и конфиг генерируется, чтобы запуск мог продолжиться. Сгенерированный файл — заготовка, а не догадка: он появляется в git status и предназначен для правки.

Всё относительное в конфиге считается от корня. ${root} разворачивается в абсолютный путь корня в env, args, adapter_command и launch_arguments.

Минимальный конфиг

version = 1
default = "app"

[profiles.app]
adapter = "codelldb"
program = "target/debug/app"

Незнакомый ключ — ошибка

Схема закрытая. Ключ, которого Bugsaur не знает, — это ошибка разбора, останавливающая запуск, а не молча проигнорированная строка.

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

Что где лежит

<корень>/.bugsaur/
├── config.toml        проект — общий, коммитится
├── breakpoints.json   ваши точки останова — личные, скрыты от гита
├── build/             бинарники, которые собирает Bugsaur; игнорирует себя сам
└── logs/              логи, сохранённые из панели Logs

Этот раздел

Страница О чём
Профили по профилю на каждую отлаживаемую вещь; выбор между ними
Аргументы args
Переменные окружения env, env_file, формат .env
Рабочий каталог cwd и почему по умолчанию корень
Отображения путей отладка кода, который выполняется в другом месте
Интерфейс [ui]: тема, раскладка, хоткеи окна
Справочник все ключи, их типы и умолчания