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

latest releases: v0.24.0-rc.1, v0.23.1, v0.23.1-rc.1...
17 months ago

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

  • Добавлены code lens для запуска тестов в os-файлах с помощью 1testrunner;
  • Добавлен code action для разворачивания конструктора структуры в серию вызовов метода Вставить;
  • Добавлена возможность запуска полного анализа проекта при открытии IDE;
  • Добавлена возможность отправки ошибок в трекер ошибок Sentry.io. Подробнее в документации;
  • Добавлена возможность запуска в режиме LSP с использованием технологии websocket;
  • Значительно снижено потребление оперативной памяти;
  • Добавлен показ прогресса инициализации контекста;
  • Добавлена поддержка инструкции препроцессору #native в os-файлах;
  • Добавлены inlay hint для показа мест, увеличивающих счетчики цикломатической и когнитивной сложностей. Включение/Отключение подсказок осуществляется по нажатию на соответствующую линзу;
  • В запросе textDocument/documentSymbol (панель "Structure") теперь возвращаются только явно объявленные через Перем переменные;
  • Обновлена документация и описания диагностик;

Изменения в поддержке LSP протокола

Новые диагностики

Изменения в существующих диагностиках

  • RefOveruse - исправлено множество false positive;
  • UsageWriteLogEvent - исправлен false positive при использовании менеджера ошибок, появившегося в платформе 8.3.17;
  • QueryToMissingMetadata - исправлен false positive, срабатывавший на обращении к метаданным с отличающимся регистром букв;
  • UnusedParameters - исправлено падение диагностики;
  • IncorrectLineBreak - теперь диагностика по умолчанию позволяет иметь висячую запятую;
  • CommentedCode - добавлен параметр exclusionPrefixes для указания префиксов для исключения срабатывания диагностики;
  • UnusedLocalMethod - исправлен false positive на обработчиках оповещения.

Исправленные общие ошибки

  • Исправлена проблема однопоточного чтения конфигурации в некоторых случаях;
  • Исправлено несколько ошибок поиска при заполнении индекса ссылок;
  • code action создания стандартных областей теперь использует настройки локали из конфигурационного файла и/или языка текущей конфигурации;
  • Исправлено некорректное добавление отступа при написании кода в "текучем" (fluent) стиле;

Обновление значимых зависимостей

  • Language Tool обновлен до версии 6.1;
  • Spring Boot обновлен до версии 2.7.12;
  • BSL Parser обновлен до версии 0.22.0;
  • MDClasses обновлен до версии 0.10.3;
  • LSP4J обновлен до версии 0.21.0.

Изменения для разработчиков

  • Поддержка и сборка на JDK 20;
  • Отказ от jsr305 (см. "Руководство по стилю написания кода" -> "Обработка null"), system-exit, подготовка к переходу на JDK 17;
  • В библиотеку 1c-syntax/utils добавлены служебные классы для интернирования строк (StringInterner) и объектов по equals() (GenericInterner);
  • VariableSymbol преобразован в интерфейс с двумя реализациями, отличающимися типами полей для указания расположения символа (short/int);
  • Ответственность по очистке содержимого DocumentContext (и соответствующие методы) перенесена в ServerContext;
  • В пакет diagnostics добавлена аннотация @Disabled для временного отключения диагностики из работы;
  • В пакет utils добавлено несколько вспомогательных классов для разработки диагностик;
  • Класс Resources сделан бином;

Изменения в конфигурации сервера

  • Добавлена секция inlayHint для конфигурирования параметров подсказок в коде;
  • Добавлено свойство sendErrors для управления режимом отправки ошибок в Sentry;
  • В секцию codeLens добавлена секция testRunner для управления настройками утилиты запуска тестов;
  • В секцию diagnostics добавлено свойство analyzeOnStart для включения выполнения полного анализа проекта при открытии;

Спасибо!

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

NewReleases is sending notifications on new releases.