Skip to content

Releases: 1c-syntax/bsl-language-server

v0.19.1

23 Sep 13:35
07d896a
Compare
Choose a tag to compare
  • Исправлено падение сервера на запросе textDocument/documentColor, отправляемом из окна git diff в vscode

v0.19.0

16 Sep 14:12
3c21d18
Compare
Choose a tag to compare

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

  • Добавлена обработка запросов textDocument/documentColor и textDocument/colorPresentation для отображения представления цвета. Обрабатываются обращения к системному перечислению WebЦвета и создание цвета с помощью конструктора Новый Цвет;
  • Добавлена обработка запроса textDocument/selectionRange для формирования дерева областей выделения от текущей позиции (команда Expand Selection в VSCode);
  • Линзы когнитивной сложности и цикломатической сложности теперь показывают текст на языке сервера (параметр language конфигурационного файла);
  • Добавлен репортер в формат SARIF;
  • Удален репортер в Generic coverage, метрика covlocData объявлена устаревшей. При необходимости получения данных по строкам к покрытию используйте другие инструменты, например Coverage41C;
  • Добавлены диагностики:
    • Все возможные пути выполнения функции должны содержать оператор Возврат (AllFunctionPathMustHaveReturn);
    • Назначение псевдонимов выбранным полям в запросе (AssignAliasFieldsInQuery);
    • Флажок «Устанавливать права для новых объектов» должен быть установлен только у роли ПолныеПрава (SetPermissionsForNewObjects);
    • После вызова асинхронного метода есть строки кода (CodeAfterAsyncCall);
  • Изменены диагностики:
    • Typo - английский словарь больше не ругается на кириллицу и наоборот;
    • IdenticalExpressions - диагностика переписана на новый движок "дерева выражений", повышена точность срабатывания диагностики с учетом вариативности и приоритетов операций, добавлен параметр popularDivisors для отсекания срабатываний на популярных делителях 60 и 1024;
    • MissingTemporaryFileDeletion - исправлено падение при вызове функции от результата вызова функции, исправлены избыточные (не)срабатывания диагностики при частичном совпадении искомого имени метода с созданием/удалением временного файла, добавлена поддержка методов удаления файла, находящихся в общих модулях;
    • AssignAliasFieldsInQuery - исправлены падения при разрывах запроса в области описания выбираемых полей;
    • IncorrectUseOfStrTemplate - исправлены ложные срабатывания при сложном экранировании шаблонных переменных через двойные знаки процента или скобки, исправлены ложные несрабатывания при передаче параметров в виде отсутствующего значения;
    • IncorrectLineBreak - исправлены ложные срабатывания на комментариях и внутри строк;
    • SelectTopWithoutOrderBy - исправлено срабатывание диагностики на конструкцию ВЫБРАТЬ ПЕРВОЕ 0, исправлено падение диагностики при разрыве запроса;
    • CreateQueryInCycle - исправлено падение диагностики при наличии ошибок в синтаксисе описания цикла;
    • UsingHardcodeNetworkAddress - добавлен параметр searchPopularVersionExclusion для исключения срабатывания диагностики на популярные конструкции, не являющиеся адресами. По умолчанию игнорируются строки, начинающиеся на 1, 2, 3, 8.3 и 11;
    • LatinAndCyrillicSymbolInWord - добавлен параметр allowTrailingPartsInAnotherLanguage, разрешающий началу или концу идентификатора быть написанным на другом языке;
    • UsageWriteLogEvent - исправлено ложное срабатывание диагностики вне блока Исключение;
    • CachedPublic - исправлено ложное срабатывание диагностики на пустой области;
    • IncorrectUseLikeInQuery - важность понижена до major;
    • UsingLikeInQuery - важность понижена до major;
    • VirtualTableCallWithoutParameters - важность понижена до major;
    • MagicDate - исправлена ошибка, которая не позволяла убрать из разрешенных дат в параметре authorizedDates даты, установленные по умолчанию;
    • MagicNumber - исправлена ошибка, которая не позволяла убрать из разрешенных чисел в параметре authorizedNumbers числа, установленные по умолчанию;
  • Исправлена ошибка позиционирования некоторых диагностик, опиравшихся на построчный перебор файла;
  • Исправлена ошибка разбора исходного кода, если один из параметров метода имеет имя Ждать;
  • Исправлена ошибка чтения параметров диагностик, имеющих тип "число с плавающей точкой" (float), приводящая к падению приложения;
  • Исправлено падение сервера, если путь к файлу содержит квадратные скобки ([ и ]);
  • Обновление значимых зависимостей:
    • встроенный словарь Language Tool обновлен до версии 5.4;
    • Spring Boot обновлен до версии 2.5.4;
    • MDClasses обновлен до версии 0.9.2;
    • BSL Parser обновлен до версии 0.19.4;

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

  • BSL Language Server теперь публикуется в Maven Central. Снапшоты develop-ветки доступны в Sonatype Snapshot Repository. Версионируемый javadoc доступен на javadoc.io;
  • javadoc теперь содержит кросс-ссылки на объекты mdclasses и antrl4;
  • Добавлен механизм Expression Tree для построения дерева выражений с учетом приоритетов операций. См. пакет com.github._1c_syntax.bsl.languageserver.utils.expressiontree;
  • Добавлен механизм Control Flow Graph для построения графа потока управления в блоке кода (CodeBlockContext). См. пакет com.github._1c_syntax.bsl.languageserver.cfg;
  • Добавлен метод DocumentContext::getScriptVariantLocale, возвращающий вариант встроенного языка текущего файла. Интерфейс класса Resources расширен методами, принимающими Locale
  • Изменения базовых настроек проекта, хранящихся в каталоге .idea больше не будут приводить к конфликтам и шуму в измененных файлах репозитория.

v0.19.0-rc.3

13 Sep 16:18
bec77e5
Compare
Choose a tag to compare
v0.19.0-rc.3 Pre-release
Pre-release
Merge pull request #1812 from 1c-syntax/feature/publishToSonatype

v0.19.0-rc.2

08 Sep 07:50
c948357
Compare
Choose a tag to compare
v0.19.0-rc.2 Pre-release
Pre-release
Merge pull request #1799 from 1c-syntax/fix/contentList

v0.19.0-rc.1

29 Aug 11:05
ff1ac97
Compare
Choose a tag to compare
v0.19.0-rc.1 Pre-release
Pre-release
Merge pull request #1725 from EvilBeaver/feature/cfg

ControlFlowGraph и диагностика с примером

v0.18.1

26 May 15:43
adad907
Compare
Choose a tag to compare

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

  • Добавлено отслеживание за смертью процесса, запустившего BSL Language Server в режиме LSP. В случае завершения родительского процесса BSL Language Server будет завершать свою работу через 30 секунд.
  • В парсер описания метода добавлена обработка конструкций Array contains Something.
  • В парсер описания метода добавлена обработка конструкций для составных типов-коллекций с примитивными типами элементов вида Массив из Строка.
  • Изменены диагностики:
    • IncorrectLineBreak - добавлен параметры диагностики, позволяющие конфигурировать допустимые символы в начале и конце строки, исправлено позиционирование срабатываний диагностики.
  • Обновление значимых зависимостей:
    • BSL Parser обновлен до версии 0.19.3;

v0.18.0

29 Apr 11:23
30af044
Compare
Choose a tag to compare

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

  • Поддержка 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.

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

Read more

v0.18.0-rc.2

21 Apr 10:41
afdfa23
Compare
Choose a tag to compare
v0.18.0-rc.2 Pre-release
Pre-release
Исправление поиска ссылок на модулях с именем Module.bsl, но не общих…

… модулях.

v0.18.0-rc.1

12 Apr 14:41
1e4d4ad
Compare
Choose a tag to compare
v0.18.0-rc.1 Pre-release
Pre-release
fixup tests

v0.18.0-alpha.2

04 Apr 11:51
ca997a6
Compare
Choose a tag to compare
v0.18.0-alpha.2 Pre-release
Pre-release
Merge pull request #1567 from artbear/str-template-1235