Аргументы программы¶
args — это командная строка, которая передаётся отлаживаемой программе.
По элементу на аргумент¶
args — список, а не строка, и каждый элемент это один аргумент. Разница важна
всякий раз, когда в значении есть пробел:
args = ["--message", "hello world"] # два аргумента
args = ["--message hello world"] # один аргумент, почти наверняка не то
Никакого шелла в процессе нет: ни разбиения на слова, ни раскрытия шаблонов, ни
подстановки переменных, кроме ${root} ниже. Что написали, то и получит argv
программы.
${root}¶
${root} разворачивается в абсолютный путь корня проекта:
Пользуйтесь им, когда программе нужен абсолютный путь. Голый относительный путь тоже работает — его разрешает сама программа относительно своего рабочего каталога, а это по умолчанию корень проекта.
Аргументы, похожие на флаги отладчика¶
Двусмысленности нет: args уходит отлаживаемой программе, и ничто внутри него
Bugsaur не интерпретирует. Профиль с args = ["--project", "x"] передаст вашей
программе --project x.
Отладка теста под курсором подменяет args¶
Когда вы отлаживаете тест под курсором — :DebugTest или --test-at, —
программа и её аргументы подменяются на те, что нужны выбранному тесту. Всё
остальное из профиля — адаптер, окружение, рабочий каталог — наследуется без
изменений.
Поэтому для отладки одного теста не нужно дописывать в профиль аргументы pytest
или cargo test: их подставляет сам механизм запуска теста.
Примеры¶
У PHP args не бывает: адаптер ничего не запускает, значит и командной
строки задавать некому. См. Языки → PHP.
Смежное¶
- Переменные окружения — для настроек, которые передаются
через
env, а не командной строкой. - Рецепты → Передача аргументов и окружения — разобранные примеры.