1C (BSL) Auto Fold
Готовый VSIX для установки
Небольшое расширение VS Code для BSL-модулей. При первом открытии файла
автоматически сворачивает все процедуры, функции и их многострочные
комментарии-описания. Переключение между уже
открытыми вкладками не сворачивает повторно методы, которые пользователь успел
развернуть.
При сворачивании метода закрывающая строка КонецПроцедуры или
КонецФункции также скрывается.
Если модуль открывается с переходом на конкретную строку, содержащий её метод
остаётся развёрнутым. Командная навигация к строке внутри уже свёрнутого метода
также разворачивает метод и внешние области, необходимые для показа строки.
Команды
BSL Auto Fold: Свернуть все методы;
BSL Auto Fold: Развернуть все методы.
Настройки
bslAutoFold.collapseMethodsOnOpen — автоматическое сворачивание,
по умолчанию включено;
bslAutoFold.collapseMethodDescriptionsOnOpen — сворачивание описаний
методов, по умолчанию включено;
bslAutoFold.collapseRegionsOnOpen — сворачивание областей;
bslAutoFold.collapseConditionalsOnOpen — сворачивание Если;
bslAutoFold.collapseLoopsOnOpen — сворачивание циклов;
bslAutoFold.collapseTryBlocksOnOpen — сворачивание Попытка;
bslAutoFold.collapsePreprocessorOnOpen — сворачивание #Если;
bslAutoFold.delayMs — задержка перед сворачиванием, по умолчанию
150 мс.
Все дополнительные категории выключены по умолчанию и настраиваются
независимо друг от друга.
Расширение зависит от установленного Language 1C (BSL): он регистрирует язык
bsl. Собственные folding ranges расширение рассчитывает самостоятельно.
Компонент BSL Language Server для автосворачивания не требуется и может
оставаться отключённым.
Проверка
npm test
Сборка и установка
npm install
npm run publish:utilities
Автосборка дистрибутива
После npm install репозиторий использует отслеживаемый hook
.githooks/post-commit. Каждый коммит автоматически:
- собирает VSIX локальным
@vscode/vsce;
- заменяет предыдущий VSIX в соседней папке
Utilities/BSLAutoFold;
- обновляет там README с версией и коротким хешем коммита;
- удаляет временную папку сборки.
Для другой структуры каталогов задайте переменную окружения
BSL_AUTO_FOLD_DISTRIBUTION_DIR с путём к папке дистрибутива.
Включить hook повторно можно командой:
npm run setup-hooks