Три источника проверок кода в экосистеме 1С
Статический анализ кода в мире 1С развивается уже много лет, и сегодня на практике используются три ключевых инструмента:
| Инструмент | Особенности и назначение |
|---|---|
| 1С:АПК | Официальная конфигурация фирмы «1С» («Автоматизированная проверка конфигураций»). Анализирует файлы выгрузки, ориентирована на аудит релизов и контроль качества готовых решений, а не на мгновенную обратную связь в процессе написания кода. |
| 1C:Code style V8 | Штатный открытый плагин от фирмы «1С», встроенный в 1C:EDT. Проверяет синтаксис, стандарты и структуру метаданных прямо во время редактирования модулей в IDE. |
| BSL Language Server | Флагманский open-source проект сообщества 1c-syntax. Содержит около 190 детальных диагностик по стандартам 1С, работает по протоколу LSP в сторонних редакторах (VS Code, VSCodium), а также в конвейерах CI/CD (через SonarQube и bsl-ls-cli). |
Подробный ретроспективный разбор инструментов статического анализа в 1С ещё в 2020 году опубликовал Олег Тымко в статье «Автоматическая проверка качества кода 1С в системе SonarQube». С тех пор экосистема шагнула вперёд, но базовое разделение ролей осталось прежним.
1C:Code style V8
Встроенный плагин 1C:Code style V8 — отличный инструмент: он бесшовно интегрирован в EDT, проверки привычно настраиваются в свойствах проекта, а предупреждения появляются в родной панели «Ошибки конфигурации». Однако у него есть существенное ограничение: последний стабильный релиз v0.5 вышел 16 декабря 2023 года (для EDT 2023.1), а предрелизный v0.6.alpha — для EDT 2023.2. С тех пор прошло почти три года без официальных релизов.
При этом сам репозиторий не заброшен: разработчики обновляют зависимости под новые версии среды (вплоть до EDT 2026.2), принимают отдельные pull request'ы от сообщества и вносят точечные правки. Но релизный конвейер остановлен. В результате разработчики получают свежие правила анализа только вместе с крупными обновлениями самой EDT, а в трекере проекта накопилось более 600 открытых issues.
BSL Language Server
В отличие от плагина Code Style, проект BSL Language Server (BSL LS) развивается непрерывно: только в августе 2026 года вышли версии 1.0.7 и 1.1.0-rc. Каталог правил регулярно пополняется, а каждая диагностика снабжена уникальным кодом, подробным описанием и ссылками на стандарты разработки 1С.
Казалось бы, логично использовать BSL LS прямо внутри EDT. Но на практике возникает серьёзный архитектурный барьер:
- BSL Language Server — это самостоятельное внешнее Java-приложение.
- Плагины 1C:EDT функционируют внутри контейнера Eclipse/OSGi, где версии всех базовых библиотек строго зафиксированы средой.
- Например, библиотека протокола LSP4J в EDT 2025.2 имеет версию 0.23.1, а в EDT 2026.1 — уже 1.0.0. Попытка объединить их в единый classpath неизбежно приводит к конфликтам зависимостей (JAR hell).
Решение этой проблемы ещё в 2020 году предложил Олег Тымко, создав плагин-коннектор dt.bsl.lsconnector. Коннектор запускает BSL LS как изолированный дочерний процесс и общается с ним по протоколу LSP через стандартные потоки ввода-вывода. Однако оригинальный проект остановился на версии v0.2.1 в декабре 2020 года. В феврале 2026 года сообщество адаптировало коннектор под EDT 2025.1 (v0.3.0), после чего разработка снова затихла.
Зачем понадобился форк
Решение сделать форк и довести коннектор до полноценного рабочего состояния созрело благодаря совпадению трёх факторов:
-
Появление AI-агентов и протокола MCP в EDT.
Я активно использую EDT-MCP — открытый MCP-сервер, который позволяет AI-агентам (Claude Code, opencode и др.) взаимодействовать с проектом в 1C:EDT: считывать список ошибок, вносить исправления и сразу валидировать результат. Список проблем агент запрашивает через методget_project_errorsиз стандартной панели «Ошибки конфигурации». Старый коннектор сохранял маркеры в отдельной служебной области, из-за чего LLM их попросту не видела. Возникал парадокс: типовые замечания EDT нейросеть исправляла легко, а строгие правила BSL LS игнорировала. -
Потребность в актуальной базе стандартов.
Пока 1C:Code style V8 находится на паузе, сообщество BSL LS постоянно улучшает диагностику антипаттернов. Подключение свежего движка BSL LS — самый прямой и действенный способ расширить покрытие стандартов в EDT. -
Новая экономика разработки open source.
В этом проекте я выступаю как продакт-оунер и архитектор: формирую требования, проектирую сценарии использования, провожу ревью изменений и тестирую каждый билд в живой среде EDT. Написание кода и рутину сборки выполняет LLM-ассистент (GLM-5.3-Flash от Z.ai). Когда перезапуск и развитие сложного плагина занимают не месяцы упорного труда в одиночку, а пару недель итераций с AI, поддержка open-source инструментов становится по-настоящему доступной.
Возможности обновлённого коннектора
Вот что умеет коннектор в текущем виде:
- Автоматическая установка BSL LS: сервер не нужно скачивать или настраивать вручную. Плагин сам загружает нужный релиз с GitHub в локальный каталог — доступен как native-бинарник под вашу ОС (Java не требуется), так и универсальный JAR (требуется Java 21+).
- 187 индивидуальных проверок в EDT: каждая диагностика BSL LS зарегистрирована как самостоятельная проверка EDT со своим каноническим кодом (
LineLength,MethodSize,CognitiveComplexityи др.). Вы можете гибко включать и отключать конкретные правила в стандартном дереве настроек проверок. - Единая панель «Ошибки конфигурации»: все замечания BSL LS выводятся в общий список с понятным префиксом
[BSL LS]— их удобно фильтровать, сортировать и передавать AI-агентам. - Параллельная работа: проверки срабатывают при открытии, редактировании и сохранении модулей, а также по команде контекстного меню «Проверить». Анализ выполняется асинхронно и не конфликтует со штатными проверками EDT.
- Интерактивные карточки стандартов: по кнопке «Открыть проверку» в панели проблем отображается детальное описание диагностики с примерами из базы знаний v8std.ru.
- Корректное подавление замечаний: кнопка «Подавить» оборачивает проблемный фрагмент кода в парные комментарии
// BSLLS:Код-off…// BSLLS:Код-on, аккуратно очищая неработающие вставки//@skip-check. Поддерживается отмена действия через единый Ctrl+Z. - Гибкая конфигурация: при наличии файла
.bsl-language-server.jsonв корне проекта плагин передаёт его серверу, позволяя переопределять уровни важности и параметры правил под проектные соглашения.
Проект опубликован под лицензией AGPL-3.0 (в соответствии с BSL Language Server) с сохранением копирайта оригинального автора (MIT © 2020 Oleg Tymko).
Пример экрана EDT c добавленным плагином

Пошаговая инструкция по установке
Установить коннектор в 1C:EDT можно за несколько простых шагов:
- В главном меню EDT откройте Справка (Help) - Установить новое ПО (Install New Software...).
- В поле Работать с (Work with) вставьте адрес репозитория:
и нажмите кнопку Добавить (Add...).https://malikov-pro.github.io/bslls-connector-for-edt/ - В появившемся дереве компонентов отметьте пункт BSL LS connector for EDT.
Примечание: флаг «Обращаться во время инсталляции ко всем сайтам обновления для поиска требуемого ПО» должен быть включён (при установке из локального zip-архива со страницы Releases его, наоборот, следует снять). - Нажмите Далее - примите условия лицензии - Готово и перезапустите 1C:EDT.
Первый запуск и проверка связи
- Перейдите в меню: Окно - Параметры - раздел Коннектор BSL LS.
- Выберите желаемый режим (рекомендуется native под вашу операционную систему) и нажмите кнопку «Скачать». Плагин автоматически загрузит дистрибутив BSL LS в рабочий каталог и подготовит его к запуску.
- Тест работы: откройте любой модуль конфигурации и добавьте строку длиной более 120 символов. Сохраните модуль — в стандартной панели «Ошибки конфигурации» мгновенно появится предупреждение
[BSL LS] Длина строки превышает 120 символов.
Планы развития
Проект продолжает активно развиваться. В ближайших планах:
- Быстрые исправления (Quick Fixes): автоматическое применение исправлений по кодам диагностик BSL LS через меню автоисправления EDT.
- Улучшение юзабилити: кнопка быстрого перехода в рабочую папку сервера и оптимизация каналов валидации (задачи #15 и #16).
- Статья об AI-разработке в 1С: отдельный подробный материал о связке 1C:EDT + EDT-MCP + BSL LS и практических сценариях работы с AI-агентами.
Как поддержать проект
Для open-source проектов обратная связь — главный источник мотивации:
- Поставьте звёздочку репозиторию malikov-pro/bslls-connector-for-edt на GitHub — это помогает проекту расти.
- Протестируйте коннектор в своей рабочей среде EDT и делитесь отзывами или баг-репортами в GitHub Issues.
- Поддержите звёздами и смежные проекты, на которых держится эта интеграция: BSL Language Server и EDT-MCP.
Спасибо за внимание и качественного вам кода в 1C:EDT!
Вступайте в нашу телеграмм-группу Инфостарт