Есть ли плагины для удобного анализа кода в 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-поддержка, рефакторинг, переход по коду.

Примеры использования

  1. Автоматическая проверка при сохранении: в VS Code при сохранении файла линтер сразу подсветит ошибки, дублирования или нарушения стиля.

  2. CI-проверки: например, при пуше в репозиторий запускается bsl-check или sonar-scanner, и сборка блокируется при наличии ошибок.

  3. Инспекция легаси-кода: старые модули 1С можно проанализировать на использование устаревших конструкций или проблемных мест.

  4. Единый кодстайл: в команде настраиваются правила стиля, и любой отклоняющийся код автоматически выявляется.

Совместное использование

Команды часто совмещают несколько решений:

  • EDT + CheckBSL + SonarQube (глубокий анализ);

  • VS Code + BSL Language Server (удобная разработка и рефакторинг);

  • Vanessa Checker + oscript-validator (проверка при сборке и тестировании).

Все эти инструменты помогают добиться стабильности, понятности и соответствия лучшим практикам при разработке на платформе 1С.