github 1c-syntax/bsl-language-server v0.10.0

latest releases: v0.24.0-rc.1, v0.23.1, v0.23.1-rc.1...
5 years ago

Общие изменения

  • BREAKING CHANGE По умолчанию процесс расчета диагностик теперь запускается только при сохранении файла. Для возвращения старого поведения (при редактировании файла) используйте конфигурационный файл, свойство computeDiagnostics в значении onType
  • Добавлен подсчет метрики "Когнитивная сложность"
  • Добавлены диагностики:
    • Когнитивная сложность (CognitiveComplexity)
    • Одинаковые выражения слева и справа от 'foo' оператора (IdenticalExpressions)
    • Использование сложных выражений в условии оператора "Если" (IfConditionComplexity)
    • Конструкция "Попытка...Исключение...КонецПопытки" не содержит кода в исключении (MissingCodeTryCatchEx)
    • Нарушение парности использования методов "НачатьТранзакцию()" и "ЗафиксироватьТранзакцию()" / "ОтменитьТранзакцию()" (PairingBrokenTransaction)
    • Ошибочное указание нескольких директив компиляции (SeveralCompilerDirectives)
    • Пробел в начале комментария (SpaceAtStartComment)
    • Использование тернарного оператора (TernaryOperatorUsage) - по умолчанию выключена
    • Оператор "Перейти" не должен использоваться (UsingGoto)
  • Изменены следующие диагностики:
    • ExtraCommas теперь работает всегда, а не только для BSL-файлов
    • UsingCancelParameter- серьезность переведена на уровень MAJOR
  • Добавлен обработчик textDocument/codeLens, отображающий информацию о Когнитивной сложности метода
  • Добавлен quick-fix (быстрое исправление) для диагностики "Пробел в начале комментария"(SpaceAtStartComment)
  • В конфигурационный файл добавлены свойства:
    • showCognitiveComplexityCodeLens - Булево - определяет необходимость показа codeLens с Когнитивной сложностью;
    • computeDiagnostics - Перечисление - определяет триггер для расчета диагностик. Доступные значения - при сохранении файла (по умолчанию), при редактировании файла, никогда.
  • Для конфигурационного файла добавлена json-схема. В имеющиеся файлы конфигурации ее можно подключить с помощью свойства:
"$schema": "https://raw.githubusercontent.com/1c-syntax/bsl-language-server/master/src/main/resources/org/github/_1c_syntax/bsl/languageserver/configuration/schema.json"  
  • Уточнено определение диапазонов начала и конца методов при запросе символов документов
  • Исправлено форматирование параметров аннотаций и аннотированных методов и переменных

Значимые внутренние изменения

  • Для диагностик в @DiagnosticMetadata доступно новое свойство activatedByDefault. Значение по умолчанию - true
  • В DocumentContext и классы, реализующие интерфейс Symbol, добавлен метод очистки сохраненных данных ANTLR - void clearASTData()

Don't miss a new bsl-language-server release

NewReleases is sending notifications on new releases.