1C (BSL) Auto Fold
Расширение для VS Code, которое автоматически сворачивает методы BSL-модуля
при его открытии и подсвечивает управляющие слова текущей языковой конструкции.
Большие модули сразу показываются как компактный список процедур и функций, а
навигация по вложенным блокам напоминает редактор конфигуратора 1С.
Возможности
- сворачивает процедуры и функции при первом открытии BSL-файла;
- сворачивает многострочные комментарии-описания над методами;
- скрывает вместе с телом метода строку
КонецПроцедуры или КонецФункции;
- не сворачивает методы повторно при переключении между открытыми вкладками;
- оставляет развёрнутым метод, если файл открыт с переходом на строку внутри
него;
- разворачивает метод и содержащие его области при последующей навигации к
конкретной строке;
- опционально сворачивает области, условия, циклы, блоки
Попытка и директивы
препроцессора;
- подсвечивает связанные управляющие слова, когда курсор установлен на одно из
них:
Если / ИначеЕсли / Иначе / КонецЕсли, циклы, Попытка, методы,
области и директивы препроцессора;
- опционально сохраняет подсветку, когда курсор находится внутри тела
конструкции;
- поддерживает русские и английские ключевые слова BSL.
Установка
Откройте расширение в
Visual Studio Marketplace
или найдите 1C (BSL) Auto Fold в панели Extensions VS Code.
Установка через командную строку:
code --install-extension Tyrael.bsl-auto-fold
Команды
Команды доступны через палитру Ctrl+Shift+P:
BSL Auto Fold: Свернуть все методы;
BSL Auto Fold: Развернуть все методы.
Настройки
| Параметр |
По умолчанию |
Назначение |
bslAutoFold.collapseMethodsOnOpen |
true |
Сворачивать процедуры и функции при открытии модуля. |
bslAutoFold.collapseMethodDescriptionsOnOpen |
true |
Сворачивать многострочные описания перед методами. |
bslAutoFold.collapseRegionsOnOpen |
false |
Сворачивать области. |
bslAutoFold.collapseConditionalsOnOpen |
false |
Сворачивать конструкции Если. |
bslAutoFold.collapseLoopsOnOpen |
false |
Сворачивать циклы Для и Пока. |
bslAutoFold.collapseTryBlocksOnOpen |
false |
Сворачивать конструкции Попытка. |
bslAutoFold.collapsePreprocessorOnOpen |
false |
Сворачивать условные блоки #Если. |
bslAutoFold.highlightCurrentConstruct |
true |
Подсвечивать связанные управляющие слова, когда курсор установлен на одно из них. |
bslAutoFold.highlightConstructWhenCursorInside |
false |
Сохранять подсветку, когда курсор находится внутри тела конструкции. |
bslAutoFold.delayMs |
150 |
Задержка перед автоматическим сворачиванием, от 0 до 2000 мс. |
Дополнительные категории сворачивания независимы друг от друга и выключены по
умолчанию. Подсветка использует цвета editorBracketMatch.background и
editorBracketMatch.border активной темы VS Code.
Перед автоматическим сворачиванием расширение сбрасывает восстановленное VS Code
состояние folding и затем применяет только включённые категории. Это не даёт
повторному editor.fold сворачивать родительские #Области вместо уже
свёрнутых методов.
Требования
Для регистрации языка bsl используется расширение
Language 1C (BSL),
указанное как зависимость. Folding ranges рассчитывает само 1C (BSL) Auto Fold, поэтому запуск BSL Language Server для автосворачивания не требуется.
Разработка
Установка зависимостей и запуск тестов:
npm install
npm test
Локальная сборка VSIX для проверки перед публикацией:
npm run package:vsix