BSL Language Server

3 23 июля 2020 09:14
FastCode

OneScript Инструменты Opensource BSL LS Анализ Инспектирование


Мощный open-source инструмент для анализа и обработки кода на языке 1С.

Что такое BSL Language Server?

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

Но на этом возможности BSL LS не заканчиваются, вот основные функции:

  • Форматирование файла
  • Форматирование выбранного диапазона
  • Определение символов текущего файла (области, процедуры, функции, переменные, объявленные через Перем)
  • Определение сворачиваемых областей - #Область, #Если, процедуры и функции, блоки кода
  • Показ когнитивной сложности метода
  • Диагностики
  • "Быстрые исправления" (quick fixes) для ряда диагностик
  • Запуск движка диагностик из командной строки
  • Запуск форматирования файлов в каталоге из командной строки

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

Проект использует Java JDK 11, но устанавливать его не обязательно. Можно воспользоваться портативной версией BSL Language Server из раздела https://github.com/1c-syntax/bsl-language-server/releases, например для Windows bsl-language-server_win.zip

Usage: bsl-language-server analyze [-hq] [-c=] [-o=] [-s=]
                                   [-r=]...
Run analysis and get diagnostic info
  -c, --configuration=
                           Path to language server configuration file
  -h, --help               Show this help message and exit
  -o, --outputDir=   Output report directory
  -q, --silent             Silent mode
  -r, --reporter=    Reporter key (console, junit, json, tslint, generic)
  -s, --srcDir=      Source directory
  -w, --workspaceDir= 
                           Workspace directory

Например, для анализа модулей поместить файлы с текстами на языке 1С в папку input и выполните файл bsl-language-server.exe с аргументами:

bsl-language-server.exe -a -s input --reporter=json -o output

После выполнения команды вы получите результат диагностики в формате json, в папке output

Полную документацию вы найдете по ссылкам на проект в конце публикации

Интеграция с другими программами

Вы можете интегрировать BSL LS с различными IDE или расширениями: Visual Studio Code, EDT, TurboConf и использовать функции программы автоматически в процессе разработки.

Сообщество разработчиков

Продукт активно развивается и поддерживается сообществом разработчиков.

Вы всегда можете задать вопрос в группе Telegram 1С, БСП, DevOps и Архитектура

Ссылки на проект

Сайт проекта

Гитхаб

Группа в Телеграм

Комментарии