Есть ли плагины для удобного анализа кода в 1С?
Да, в экосистеме 1С действительно существуют инструменты и плагины, облегчающие анализ кода, повышение его качества, соблюдение стандартов и сопровождение. Основная цель этих решений — автоматизировать рутинные проверки, выявлять потенциальные ошибки и обеспечивать читаемость и стандартизацию кода. Вот наиболее известные и применимые инструменты:
1. SonarQube + Плагин для 1С (OneScript, BSL Language)
SonarQube — популярная платформа для анализа качества кода. Для языка 1С (BSL — Built-in Script Language) и OneScript создан специальный плагин BSL Language Support.
Что умеет:
-
Статический анализ кода на BSL/1С;
-
Выявление дублирующегося кода;
-
Поиск потенциальных ошибок и "плохих" практик;
-
Подсветка несоответствий стандартам;
-
Генерация отчетов по качеству кода.
Требования:
-
Установка SonarQube-сервера;
-
Интеграция с Git или CI/CD (по желанию);
-
Использование утилиты bsl-language-server и sonar-scanner.
2. BSL Language Server (bsl-language-server)
Это языковой сервер, совместимый с протоколом Language Server Protocol (LSP), который можно интегрировать в редакторы, такие как:
-
Visual Studio Code (VS Code);
-
Theia;
-
JetBrains IDE (с настройками);
-
Atom.
Функции:
-
Подсветка синтаксиса;
-
Переход к объявлению;
-
Поиск ссылок;
-
Быстрые исправления;
-
Анализ ошибок;
-
Рефакторинг;
-
Использование стандартов оформления кода (BSL Style).
Интеграция:
- Требуется установка bsl-language-server и соответствующих расширений, например 1C (BSL) Language.
3. EDT (Enterprise Development Tools)
Официальная IDE от 1С, построенная на базе Eclipse.
Особенности анализа:
-
Поддержка рефакторинга и автодополнения;
-
Проверка типов и ссылочной целостности;
-
Статический анализ кода с подсказками;
-
Быстрый поиск по объектам и модулям;
-
Поддержка линтеров и профилей качества;
-
Возможность запуска автоматических тестов прямо из среды.
Плюсы:
-
Глубокая интеграция с платформой 1С;
-
Поддержка проектов, хранилищ, GIT.
4. Check BSL (bsl-check)
Инструмент командной строки (CLI), разработанный как облегчённый линтер для кода 1С.
Возможности:
-
Проверка кода на соответствие стандартам;
-
Поддержка профилей проверки;
-
Генерация отчётов;
-
Интеграция в CI/CD.
Используется как вспомогательный инструмент в командах, которые хотят автоматизировать аудит кода.
5. Tools для OneScript: oscript-linter и oscript-validator
Подходит для проектов на OneScript или встраиваемых обработок.
Проверки:
-
Синтаксис и потенциальные ошибки;
-
Соответствие стилю;
-
Использование устаревших конструкций;
-
Генерация отчётов.
Могут использоваться в автоматическом режиме при коммите или пуше.
6. Vanessa Checker
Часть экосистемы [Vanessa Automation], но может использоваться отдельно.
Возможности:
-
Проверка кода на соответствие стилю;
-
Вывод нарушений;
-
Поддержка профилей оформления;
-
Гибкая настройка правил.
Подходит для тестирования и рефакторинга существующего кода.
7. Дополнительно:
BSLint
Новый проект сообщества, который также выполняет статический анализ, работает с BSL/1C куском и может быть интегрирован с VS Code или использоваться как CLI.
Visual Studio Code + Плагины
-
BSL Language Support — базовая подсветка и отладка;
-
OneScript Language — интеграция с OneScript;
-
BSL Language Server — LSP-поддержка, рефакторинг, переход по коду.
Примеры использования
-
Автоматическая проверка при сохранении: в VS Code при сохранении файла линтер сразу подсветит ошибки, дублирования или нарушения стиля.
-
CI-проверки: например, при пуше в репозиторий запускается bsl-check или sonar-scanner, и сборка блокируется при наличии ошибок.
-
Инспекция легаси-кода: старые модули 1С можно проанализировать на использование устаревших конструкций или проблемных мест.
-
Единый кодстайл: в команде настраиваются правила стиля, и любой отклоняющийся код автоматически выявляется.
Совместное использование
Команды часто совмещают несколько решений:
-
EDT + CheckBSL + SonarQube (глубокий анализ);
-
VS Code + BSL Language Server (удобная разработка и рефакторинг);
-
Vanessa Checker + oscript-validator (проверка при сборке и тестировании).
Все эти инструменты помогают добиться стабильности, понятности и соответствия лучшим практикам при разработке на платформе 1С.