Общие изменения
- Добавлены
code lens
для запуска тестов в os-файлах с помощью1testrunner
; - Добавлен
code action
для разворачивания конструктора структуры в серию вызовов методаВставить
; - Добавлена возможность запуска полного анализа проекта при открытии IDE;
- Добавлена возможность отправки ошибок в трекер ошибок Sentry.io. Подробнее в документации;
- Добавлена возможность запуска в режиме LSP с использованием технологии websocket;
- Значительно снижено потребление оперативной памяти;
- Добавлен показ прогресса инициализации контекста;
- Добавлена поддержка инструкции препроцессору
#native
в os-файлах; - Добавлены
inlay hint
для показа мест, увеличивающих счетчики цикломатической и когнитивной сложностей. Включение/Отключение подсказок осуществляется по нажатию на соответствующую линзу; - В запросе
textDocument/documentSymbol
(панель "Structure") теперь возвращаются только явно объявленные черезПерем
переменные; - Обновлена документация и описания диагностик;
Изменения в поддержке LSP протокола
- Добавлена обработка запросов
textDocument/inlayHint
и#inlayHint/resolve
, отображающих подсказки прямо в коде; - Добавлена обработка запроса
workspace/executeCommand
, отвечающего за выполнение команд на стороне сервера; - Добавлена обработка запросов
textDocument/rename
иtextDocument/prepareRename
; - В ответ на запрос
workspace/symbol
теперь возвращаетсяWorkspaceSymbol
, а неSymbolInformation
;
Новые диагностики
- Передача параметров между клиентом и сервером (TransferringParametersBetweenClientAndServer);
- Использование привилегированного режима (SetPrivilegedMode);
- Использование системной информации (UseSystemInformation) (выключена по умолчанию);
- Обработчик регламентного задания (ScheduledJobHandler);
- Обращение к отсутствующему методу общего модуля (MissingCommonModuleMethod);
- Перезапись параметров метода (RewriteMethodParameter);
- Пропущен обязательный параметр метода (MissedRequiredParameter);
- Повторное добавление/вставка значений в коллекцию (DuplicatedInsertionIntoCollection);
- Запрет незаполненных значений (DenyIncompleteValues) (выключена по умолчанию);
Изменения в существующих диагностиках
RefOveruse
- исправлено множество false positive;UsageWriteLogEvent
- исправлен false positive при использовании менеджера ошибок, появившегося в платформе 8.3.17;QueryToMissingMetadata
- исправлен false positive, срабатывавший на обращении к метаданным с отличающимся регистром букв;UnusedParameters
- исправлено падение диагностики;IncorrectLineBreak
- теперь диагностика по умолчанию позволяет иметь висячую запятую;CommentedCode
- добавлен параметрexclusionPrefixes
для указания префиксов для исключения срабатывания диагностики;UnusedLocalMethod
- исправлен false positive на обработчиках оповещения.
Исправленные общие ошибки
- Исправлена проблема однопоточного чтения конфигурации в некоторых случаях;
- Исправлено несколько ошибок поиска при заполнении индекса ссылок;
code action
создания стандартных областей теперь использует настройки локали из конфигурационного файла и/или языка текущей конфигурации;- Исправлено некорректное добавление отступа при написании кода в "текучем" (fluent) стиле;
Обновление значимых зависимостей
- Language Tool обновлен до версии
6.1
; - Spring Boot обновлен до версии
2.7.12
; - BSL Parser обновлен до версии
0.22.0
; - MDClasses обновлен до версии
0.10.3
; - LSP4J обновлен до версии
0.21.0
.
Изменения для разработчиков
- Поддержка и сборка на JDK 20;
- Отказ от jsr305 (см. "Руководство по стилю написания кода" -> "Обработка null"), system-exit, подготовка к переходу на JDK 17;
- В библиотеку
1c-syntax/utils
добавлены служебные классы для интернирования строк (StringInterner
) и объектов поequals()
(GenericInterner
); VariableSymbol
преобразован в интерфейс с двумя реализациями, отличающимися типами полей для указания расположения символа (short/int
);- Ответственность по очистке содержимого
DocumentContext
(и соответствующие методы) перенесена вServerContext
; - В пакет
diagnostics
добавлена аннотация@Disabled
для временного отключения диагностики из работы; - В пакет
utils
добавлено несколько вспомогательных классов для разработки диагностик; - Класс
Resources
сделан бином;
Изменения в конфигурации сервера
- Добавлена секция
inlayHint
для конфигурирования параметров подсказок в коде; - Добавлено свойство
sendErrors
для управления режимом отправки ошибок в Sentry; - В секцию
codeLens
добавлена секцияtestRunner
для управления настройками утилиты запуска тестов; - В секцию
diagnostics
добавлено свойствоanalyzeOnStart
для включения выполнения полного анализа проекта при открытии;
Спасибо!
- @artbear
- @asosnoviy
- @qtLex
- @theshadowco
- @nixel2007
- @EightM
- @alkoleft
- @salexdv
- @ovcharenko-di
- @otymko
- @APonkratoveijhcberl
- @Nivanchenko
- @sfaqer