- Добавлена возможность исключать из анализа файлы на поддержке (при наличии конфигурации поставщика). Для этого в конфигурационный файл добавлено свойство
computeDiagnosticSkipSupport
(перечисление). Подробнее: Конфигурирование - Время анализа файла сокращено на ~20%
- Обновление до Java11
- Добавлена поставка BSL LS в виде самодостаточного zip-архива для платформ Windows, Linux и MacOS
- Добавлены метрики модуля:
- расчет цикломатической сложности
- количество строк комментариев
- Добавлены новые диагностики:
- Код расположен вне области
CodeOutOfRegion
- Директивы компиляции методов
CompilationDirectiveLost
- Лишняя директива компиляции
CompilationDirectiveNeedLess
- Выполнение запроса в цикле
CreateQueryOnCycle
- Цикломатическая сложность
CyclomaticComplexity
- Повторяющиеся разделы модуля
DuplicateRegion
- Область не должна быть пустой
EmptyRegion
- Использование метода ДанныеФормыВЗначение
FormDataToValue
- Использование метода ПолучитьФорму
GetFormMethod
- Нестандартные разделы модуля
NonStandardRegion
- Использование метода ПользователиОС
OSUsersMethod
- Метод не должен содержать много возвратов
TooManyReturns
- Неиспользуемый параметр
UnusedParameters
- Код расположен вне области
- Доработаны диагностики:
- UsingServiceTag - фраза
// Вставить содержимое обработчика
и ее английские аналоги теперь считается служебным тегом и диагностируется как ошибка - UnreachableCode - исправлено ложное срабатывание на
#Область
и#КонецОбласти
- UsingHardcodeNetworkAddress - исправлены ложные срабатывания на строках, содержащих двоеточия
- SpaceAtStartComment - больше не срабатывает на строках, считающихся закомментированным кодом
- CommentedCode - уточнены правила определения кода
- UnusedLocalMethod - убрано срабатывание на
ПриСозданииОбъекта
в модулях OneScript - TimeoutsInExternalResources - убраны ложные срабатывания на конфигурациях с режимом совместимости 8.3.7 и менее
- MultilingualStringHasAllDeclaredLanguages - исправлен ряд ложных срабатываний на сложных локализованных строках
- OneStatementPerLine - добавлен показ дополнительных срабатываний диагностики
- CommitTransactionOutsideTryCatch - исправлено ложное не-срабатывание в случае, когда
ЗафиксироватьТранзакцию
является последним оператором в модуле - MissingSpace - убрано ложное срабатывание на унарных плюсе и минусе при передаче числового параметра как аргумента метода
- MagicNumbers - добавлен параметр, разрешающий использование магических чисел как индексов
- UsingServiceTag - фраза
- Добавлен quick fix для диагностики:
- EmptyRegion
- Добавлен обработчик
textDocument/codeLens
, отображающий информацию о цикломатической сложности метода - Для диагностик добавлена возможность определения необходимости срабатывания на основе типа модуля
- Добавлен перевод параметров диагностик на английский язык
- Добавлен новый тэг диагностик -
localize
- проблемы локализации - Добавлен новый тип диагностик -
security hotspot
- подробнее в документации - Исправлено необнаружение метаданных конфигурации в некоторых случаях
- Форматер больше не съедает имя библиотеки OneScript, начинающейся с цифры
- json-файл с результатами анализа теперь хранит базовый каталог анализа и относительные пути к файлам
- В конфигурации BSL LS свойство
computeDiagnostics
заменено наcomputeDiagnosticsTrigger
- Расширена документация
- Расширена json-схема для конфигурационного файла
- Конфигурационный файл теперь доступен по короткой ссылке:
https://1c-syntax.github.io/bsl-language-server/configuration/schema.json