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

latest releases: v0.23.0-rc.6, v0.23.0-rc.5, v0.23.0-rc.4...
3 years ago

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

  • Поддержка Java 16.
  • Добавлена обработка запроса textDocument/hover для формирования всплывающей подсказки по методу/переменной под курсором.
  • Добавлена обработка запроса textDocument/definition для перехода к определению символа под курсором.
  • Добавлена обработка запроса textDocument/references для формирования списка ссылок на символ под курсором.
  • Добавлена обработка запросов textDocument/prepareCallHierarchy, callHierarchy/incomingCalls и callHierarchy/outgoingCalls для формирования иерархии вызовов методов.
  • Ответы на запросы textDocument/documentSymbol и workspace/symbol теперь возвращают список тегов символа.
  • Добавлено заполнение свойства codeDescription в данных диагностик, в котором хранится ссылка на документацию по диагностике.
  • Параметры siteRoot и useDevSite конфигурационного файла перенесены из объекта documentLink в корень конфигурации.
  • В параметр конфигурационного файла documentLink добавлен параметр showDiagnosticDescription, отвечающий за отображение старого механизма показа документации по диагностике в виде documentLink. По умолчанию - выключено.
  • В параметры регистрации "возможностей" (capabilities) сервера добавлена информация о DocumentSelector (где применимо). В качестве значения используется фильтр по языку с идентификатором bsl.
  • В параметры регистрации CodeActionProvider добавлен фильтр по поддерживаемым типам CodeAction (CodeActionKind). В качестве значения используется список из QuickFix и Refactor.
  • В параметры регистрации DocumentSymbolProvider добавлен label. В качестве значения используется строка BSL Language Server.
  • Добавлены диагностики:
  • Изменены диагностики:
    • Typo - значительно ускорено время работы диагностики;
    • Typo - из обработки убраны строки, напоминающие значения для форматной строки;
    • DeprecatedMethodCall - увеличена надежность срабатывания диагностики;
    • MissingTemporaryFileDeletion - в параметр searchDeleteFileMethod добавлены значения НачатьУдалениеФайлов и BeginDeletingFiles;
    • RedundantAccessToObject - исправлено ложное срабатывание при обращении из модуля менеджера к переменной с именем, совпадающим с именем метаданного;
    • RefOveruse - добавлена обработка обращения к ссылке от собственной таблицы, исправлено ложное срабатывание на обращениях с использованием таблиц из внешнего запроса;
    • StyleElementConstructors - исправлено ложное не-срабатывание, если конструктор цвета вложен в другой конструктор;
    • UnusedLocalMethod - добавлен параметр attachableMethodPrefixes, позволяющий указать префиксы имен методов, исключаемых из проверки;
    • UsingHardcodePath - оптимизация работы;
    • UsingHardcodeSecretInformation - оптимизация работы;
  • Добавлена возможность запуска анализа проекта в режиме замера производительности. Подробнее в документации.
  • Добавлена возможность передавать настройки Spring-приложения как аргументы командной строки (например, --spring.config.location).
  • Действие отключения диагностик в файле больше не предлагает выключить диагностики, пришедшие не от BSL Language Server.
  • Добавлена обработка ситуации, когда в запрос инициализации сервера в качестве значения workspaceFolders приходит значение null.
  • Исправлен разбор многострочных строк с разрывом инструкцией препроцессору (#Вставка и т.п.).
  • Обновление значимых зависимостей:
    • встроенный словарь Language Tool обновлен до версии 5.3;
    • Spring Boot обновлен до версии 2.4.5;
    • LSP4J обновлен до 0.12.0;
    • MDClasses обновлен до версии 0.8.0;
    • BSL Parser обновлен до версии 0.18.0;
  • Обновлены сайт и документация.
  • Перевод проекта переведен на платформу CrowdIn.

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

  • groupId артефактов изменен на io.github.1c-syntax.
  • Добавлена подсистема событий. Подробнее в руководстве разработчика.
  • Развитие символьного API - разделены понятия символа и символа, объявленного в исходном коде. Введены интерфейсы SourceDefinedSymbol, Describable и Exportable .
  • Параметры описания метода в MethodSymbol теперь содержат описание и значения по умолчанию.
  • В символьное API добавлено понятие ModuleSymbol для хранения данных о документе в виде символа.
  • Существенно развит механизм хранения описаний методов и переменных. Добавлен интерфейс SourceDefinedSymbolDescription.
  • Добавлен механизм для хранения ссылок на символы и API по работе с ним. См. пакет references
  • Упрощено использование DocumentContext в роли prototype bean.
  • Работа с documentLink в DocumentLinkProvider переведена на модель нескольких supplier. Каждый новый documentLink должен реализовать интерфейс DocumentLinkSupplier.

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

NewReleases is sending notifications on new releases.