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

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

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

  • Ускорено чтение информации о метаданных и настройках поддержки конфигурации
  • Сокращено потребление оперативной памяти в режиме анализа
  • Исправлена работа "висячих комментариев" для отключения диагностик
  • Добавлена возможность редактировать несохраненные файлы, а так же файлы, располагающиеся по сетевым путям
  • Оптимизирована работа диагностик в случае, если выключено игнорирование диагностик по настройкам поддержки (значение NEVER)
  • Исправлено определение максимального уровня поддержки для объекта, если в конфигурации есть несколько конфигураций поставщика
  • Исправлено выстраивание дерева областей и методов в дереве символов (панель Outline в VSCode)
  • Исправлены падения и блокировки ресурсов при редактировании больших файлов
  • В дерево символов добавлена информация о переменных (уровня модуля и уровня метода), объявленных через Перем
  • Падение одной из диагностик при анализе больше не останавливает анализ целиком
  • Добавлены диагностики:
    • Определения методов должны размещаться перед операторами тела модуля (CodeBlockBeforeSub)
    • Устаревшее использование типа "УправляемаяФорма" (DeprecatedTypeManagedForm)
    • Имя функции не должно начинаться с "Получить" (FunctionNameStartsWithGet)
    • Инициализация параметров методов и конструкторов вызовом вложенных методов (NestedFunctionInParameters)
    • Все методы программного интерфейса должны иметь описание (PublicMethodsDescription)
    • Вызов функции КаталогВременныхФайлов() (TempFilesDir)
    • Опечатка (Typo)
    • Использование возможностей выполнения внешнего кода (UsingExternalCodeTools)
    • Некорректное использование метода ОтменитьТранзакцию() (WrongUseOfRollbackTransactionMethod)
  • Добавлен quick fix для диагностики:
    • DeprecatedTypeManagedForm
  • Изменены диагностики:
    • CompilationDirectiveLost теперь позиционируется на имя метода, а не на первую строку определения
    • UnusedLocalMethod теперь работает и в общих модулях конфигурации
    • UnaryPlusInConcatenation теперь работает оптимальнее
    • Диагностики, анализирующие мультиязычные строки, теперь работают оптимальнее
    • UsingThisFormDiagnostic теперь ловит присваивание к свойству ЭтаФорма через точку
    • MissingSpace теперь ловит начало строки после равно без пробела
    • FormDataToValue теперь учитывает наличие директив компиляции и не срабатывает во внеконтекстных методах
    • NonStandardRegion больше не срабатывает на область Инициализация в модуле набора записей
    • TimeoutsInExternalResources - добавлен параметр analyzeInternetMailProfileZeroTimeout, позволяющий отключить анализ таймаута для объекта ИнтернетПочтовыйПрофиль, имеющий таймаут по умолчанию
    • EmptyRegion теперь позиционируется на начало области, а не на область целиком

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

  • Информация о методах, областях, переменных теперь хранится в виде дерева в объекте SymbolTree
  • Упрощено конфигурирование диагностик - если параметры диагностики являются примитивными типами или строками, конфигурирование производится автоматически, без необходимости переопределения configure
  • Версия lsp4j обновлена до 0.9.0

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

NewReleases is sending notifications on new releases.