Общие изменения
- Ускорено чтение информации о метаданных и настройках поддержки конфигурации
- Сокращено потребление оперативной памяти в режиме анализа
- Исправлена работа "висячих комментариев" для отключения диагностик
- Добавлена возможность редактировать несохраненные файлы, а так же файлы, располагающиеся по сетевым путям
- Оптимизирована работа диагностик в случае, если выключено игнорирование диагностик по настройкам поддержки (значение
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