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

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

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

  • Время анализа файлов сокращено от 2 до 9 раз.
  • Существенно (от 2 до 5 раз) сокращен размер неотдаваемой оперативной памяти в режиме анализа.
  • Существенно сокращен размер дистрибутива.
  • Форматтер теперь обрезает незначимые символы справа в комментариях
  • Добавлены диагностики:
    • Использование устаревшего метода "Найти" (DeprecatedFind).
    • Недопустимый символ (InvalidCharacterInFile).
    • Отсутствует удаление временного файла после использования (MissingTemporaryFileDeletion).
    • Есть локализованный текст для всех заявленных в конфигурации языков (MultilingualStringHasAllDeclaredLanguages).
    • Есть локализованный текст для всех заявленных в конфигурации языков (MultilingualStringHasAllDeclaredLanguages).
    • Неэкспортные методы в областях ПрограммныйИнтерфейс и СлужебныйПрограммныйИнтерфейс (NonExportMethodsInApiRegion).
    • Таймауты при работе с внешними ресурсами (TimeoutsInExternalResources).
    • Унарный плюс в конкатенации строк (UnaryPlusInConcatenation).
    • Неиспользуемый локальный метод (UnusedLocalMethod).
    • Хранение ip-адресов в коде (UsingHardcodeNetworkAddress).
  • Изменены следующие диагностики:
    • Определение захардкоженных адресов вынесено из диагностики UsingHardcodePath в UsingHardcodeNetworkAddress.
    • В сообщения диагностик NumberOfParams и NumberOfOptionalParams добавлена информация о требуемом количестве параметров
    • ДиагностикаLineLength больше не срабатывает на последнюю длинную строку текста запроса.
    • Диагностика CommentedCode больше не срабатывает на описаниях методов.
  • Добавлен quick-fix (быстрое исправление) для диагностик:
    • Закомментированный фрагмент кода (CommentedCode)
    • Одно выражение в одной строке (OneStatementPerLine)
  • Частичная поддержка анализа метаданных конфигурации в форматах выгрузки конфигуратора и EDT.
  • В конфигурацию BSL Language Server добавлено свойство configurationRoot для хранения пути к корню конфигурации.
  • В данные метрик добавлена информация о строках для покрытия тестами.
  • Для диагностик добавлены тэги и требуемый режим совместимости конфигурации (где применимо).
  • При анализе конфигураций по умолчанию не срабатывают диагностики, у которых режим совместимости конфигурации выше, чем режим совместимости анализируемой конфигурации.
  • Репортер в GenericIssue теперь использует относительные пути файлов.
  • Для ряда диагностик изменены названия на русском и английском языке.
  • Названия методов в сообщениях диагностик теперь обернуты в кавычки.
  • Исправлены ошибки:
    • Исключение при использовании английского варианта игнорирования диагностик (BSLLS-off).
    • Отсутствие пересчета диагностик при сохранении файла.
    • Ложное срабатывание диагностик OneStatementPerLine, EmptyStatements, SemicolonPresence при ошибке разбора
    • Ложное срабатывание диагностики UsingHardcodeSecretInformation при установке значения заголовка элементу формы с именем "Пароль"
    • Ложное срабатывание диагностики UsingHardcodeSecretInformation при установке паролю значения, состоящего только из символов звездочки (*)
    • Ложное срабатывание диагностики UnreachableCodeDiagnostic при пустом выражении после возврата.
    • Ложное срабатывание диагностики UsingHardcodePath на сложных кодах классификаторов.
    • Ложное срабатывание диагностики NestedConstructorsInStructureDeclaration при использовании пустых конструкторов со скобками.
    • Ложное срабатывание диагностики UsingSynchronousCalls на серверном контексте формы
    • Ложное срабатывание диагностики UsingObjectNotAvailableUnix в некоторых условиях
    • Двойное срабатывание диагностики UsingThisForm.
    • Код языка диагностик не влиял на язык сообщений диагностик в режиме analyze
    • Неверное английское имя диагностики MagicNumbers.
    • Диагностики на корректность работы с транзакциями срабатывали не только на методы глобального контекста.
  • Обновленный дизайн сайта.
  • Информация о диагностиках и репортерах перенесена на отдельные страницы.
  • В документацию по диагностикам добавлены блоки по типу, важности, включенности по умолчанию, времени на исправление, тэгам и применимости диагностики.

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

  • Дистрибутив теперь содержит английские версии описаний правил.
  • groupId проекта изменен на com.github.1c-syntax.

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

NewReleases is sending notifications on new releases.