Будь в числе первых, успей скачать новый релиз BSL Language Server, пока
GitHub не заблокировали к херам счетчик скачиваний не превысил 50!
https://github.com/1c-syntax/bsl-language-server/releases/tag/v0.19.0А если серьезно, то у нас закончился очередной долгострой. Не все идеи, которые закладывались этим летом, дожили до стабильного состояния, но лучше релизиться
хоть иногда, пожалуйста почаще, чем тянуть лямку еще дольше.
О некоторых плюшках я уже писал:
-
пост про отображение цветов прямо в vscode (со скриншотами);
-
пост про выход SublimeText 4 и selectionRange (в VSCode это ctrl-shift-вправо) (на этот раз без скриншотов);
-
пост про публикацию в Maven Central
Все эти штуки докатились до релиза и доступны для тыкания. Но до релиза докатились и другие крутые вещи!
Например, в 0.19.0 появились целых два умных дерева:
- в рамках доработки диагностики на
одинаковые куски выражений родилось честное "дерево выражений", которое умеет разбирать сложные многоэтажные логические и арифметические операции, умеет в приоритеты выражений и знает, что
А + Б - это тоже самое, что и
Б + А;
- новая диагностика, требующая, чтобы
все ветви кода в функции содержали возврат притащила с собой такую сложную штуку, как Control Flow Graph или "Граф потока управления", с помощью которого можно быстро получить все куски кода, которые могут выполняться последовательно, с учетом циклов, условий, возвратов и прочих goto.
Во многих диагностиках были исправлены неприятные ошибки и ложные срабатывания. Добавлен репортер в отчет SARIF, чтобы можно было, например, в VSCode смотреть результат анализа целиком, без всяких там сонаров. Почитать про то, как завести это дело можно в статье от PVS-Studio:
https://habr.com/ru/company/pvs-studio/blog/571926. Парсер запросов стал шустрее.
Да, мы в курсе про некоторые МОНСТРУОЗНЫЕ запросы в ERP, которые могут полностью парализовать анализ (используйте игнорирование диагностик вокруг таких запросов или исключайте файл из анализа) - фикс этой беды в парсере готов, но он слишком сильно ломает все в bsl ls, так что будет чуть позже.
В общем тут чуть-чуть, там чуть-чуть, а изменений набралось на тысячу файлов и +10 тысяч строк к кодовой базе.
Надеюсь, следующий релиз не заставит себя долго ждать.