1C HBK BSL для VS Code / Cursor
Расширение подключает onec-hbk-bsl к редактору и дает рабочий BSL-инструментарий
без отдельной настройки сервера: диагностики, форматирование, навигацию,
completion, hover, rename, semantic tokens и inlay hints.
Быстрый Старт
- Установите расширение
mussolene.1c-hbk-bsl.
- Откройте workspace с
.bsl / .os.
- Дождитесь запуска сервера. Диагностики появятся в Problems.
Рекомендуемые настройки workspace:
{
"[bsl]": {
"editor.defaultFormatter": "mussolene.1c-hbk-bsl",
"editor.formatOnSave": true,
"editor.formatOnType": true,
"editor.tabSize": 4,
"editor.insertSpaces": false
}
}
Возможности
| Область |
Что работает |
| Diagnostics |
Ошибки, предупреждения, Problems, quick fixes |
| Formatting |
Полный документ, range formatting, on-type indentation |
| Navigation |
Definition, references, workspace symbols, call hierarchy |
| Assistance |
Hover, completion, signature help, inlay hints |
| Highlighting |
TextMate grammar и semantic tokens |
Как Находится Сервер
Расширение запускает исполняемый файл onec-hbk-bsl. Порядок поиска:
onecHbkBsl.serverPath, если задан явный путь;
- бинарник, вложенный в VSIX;
onec-hbk-bsl из системного PATH;
- ранее скачанный релизный бинарник в storage расширения;
- релизный бинарник для текущей платформы, если доступен.
В большинстве случаев ничего настраивать не нужно.
Настройки
| Ключ |
Назначение |
onecHbkBsl.serverPath |
Явный путь к onec-hbk-bsl |
onecHbkBsl.indexDbPath |
Путь к SQLite-индексу |
onecHbkBsl.logLevel |
Уровень логов сервера |
onecHbkBsl.diagnostics.enabled |
Включить диагностики |
onecHbkBsl.diagnostics.select |
Запускать только указанные правила (BSL### или compatible key) |
onecHbkBsl.diagnostics.ignore |
Игнорировать указанные правила (BSL### или compatible key) |
onecHbkBsl.format.indentSize |
Логический размер отступа |
onecHbkBsl.inlayHints.enabled |
Включить inlay hints |
onecHbkBsl.semanticTokens.enabled |
Включить semantic tokens |
onecHbkBsl.useDocker |
Запускать LSP через уже поднятый Docker-контейнер |
onecHbkBsl.dockerContainer |
Имя контейнера для Docker LSP |
Конфигурация Проекта
Настройки расширения управляют редактором и запуском сервера. Настройки анализа
лучше хранить в onec-hbk-bsl.toml в корне workspace:
ignore = ["BSL012"]
exclude = ["vendor", "*.gen.bsl"]
[per-file-ignores]
"legacy/*.bsl" = ["BSL002", "BSL011"]
Справочник правил: Diagnostic rules.
Команды
Command Palette:
1C HBK BSL: Reindex Workspace
1C HBK BSL: Reindex Current File
1C HBK BSL: Show Index Status
1C HBK BSL: Show Server Log
Docker LSP
Если включить onecHbkBsl.useDocker, расширение запускает:
docker exec -i -e LOG_LEVEL=... <container> onec-hbk-bsl lsp
Контейнер должен быть уже запущен и видеть workspace по тому же пути, который
открыт в редакторе. В контейнер также передаются INDEX_DB_PATH, BSL_SELECT
и BSL_IGNORE, если они заданы.
Если Что-то Не Работает
- Проверьте
1C HBK BSL: Show Server Log.
- Если сервер не стартует, задайте
onecHbkBsl.serverPath на установленный
onec-hbk-bsl.
- Если диагностики не совпадают с ожиданием, проверьте
onec-hbk-bsl.toml,
onecHbkBsl.diagnostics.select и onecHbkBsl.diagnostics.ignore.
- После больших изменений в проекте запустите
1C HBK BSL: Reindex Workspace.
Репозиторий
Исходный код и документация: https://github.com/mussolene/1c_hbk_bsl