Связаться со мной - @nixel2007.
Никита Федькин (ранее Грызлов).
На канале не публикуется платная реклама.
Post #178
3.28K
#Анонс
Ну что ж. Мы строили строили, и наконец построили! чебурашка.джпг
Наконец-то выпущен BSL Language Server версии 0.18.0!
Помимо тринадцати новых диагностик, большая часть которых на этот раз посвящена языку запросов, я хотел бы отдельно выделить четыре вещи.
1) Реализованы несколько фишек из списка "это должно быть в продукте, чтобы выпустить релиз 1.0". Это переход к определению (f12 в конфигураторе и go to definition в vscode), поиск ссылок на метод (find references) и всплывающая подсказка по наведению мышки (hover). Пока это работает только для конфигураций 1С, но зато работает чуть лучше, чем в родном плагине для VSCode. Например, всплывающая подсказка точнее разбирает описание процедур и функций и красивее их отображает. А прямо сейчас в разработке находится развитие этого механизма, которое позволит получать красивую всплывающую подсказку при наведении на переменную. Надеюсь, что войдет в следующий релиз.
2) Реализована новая фишка, которая отсутствует в плагине для VSCode - показ иерархии вызовов (show call hierarchy). Я уже анонсировал ее ранее, но теперь она работает более-менее стабильно и не отваливается по непонятным причинам. Общий принцип работы можете посмотреть в приложенном скриншоте. Можно посмотреть как входящие, так и исходящие вызовы.
3) Проведена большая оптимизационная работа для диагностики по поиску опечаток. Та, которая Typo. Та, которая занимала чуть ли не треть от времени выполнения анализа (не считая разбора метаданных и всяких служебных штук). Воспользовавшись идеей, которую можно кратко выразить как "закэшируй всю тяжелую фигню", получилось добиться впечатляющих результатов - на моем железе время выполнения анализа сократилось в среднем на 20%! Да, оно сильно зависит от количества ядер и их мощности. Конечно же мы в новом релизе добавили механизмов, которые требуют дополнительных вычислительных мощностей (а значит и времени). Но согласитесь, цифра все равно очень приятная.
4) Еще был переработан механизм показа документации по диагностике. Если раньше в редакторе рисовалось раздражавшее многих подчеркивание текста, а ссылка на диагностику была отдельной строкой "Документация по диагностике..." во всплывашке, то теперь ссылка спрятана рядом с сообщением об ошибке. Нужно просто нажать на код диагностики в правой части всплывашки. Впрочем, если вам удобнее со старым механизмом, то вы можете вернуть старое поведение через конфигурационный файл, задав настройку
Несколько слов про BSLParser и MDClasses.
MDClasses теперь умеет разбирать тексты запросов в динамических списках и макетах СКД. BSL Language Server с этой информацией пока ничего делать не умеет, но обязательно научится. BSLParser научился разбирать новые операторы языка
Огромное спасибо всем приложившим руку к релизу! Очень рад видеть как новые лица, так и вклад от старичков :)
Полный список изменений доступен по ссылке - https://github.com/1c-syntax/bsl-language-server/releases/tag/v0.18.0
P.S. А еще мы переехали на новую площадку для переводов - https://crowdin.com/project/bsl-language-server
P.S.S. А еще сайт BSL Language Server стал еще более мягким и шелковистым, даже ночную тему туда завезли! https://1c-syntax.github.io/bsl-language-server/
Ну что ж. Мы строили строили, и наконец построили! чебурашка.джпг
Наконец-то выпущен BSL Language Server версии 0.18.0!
Помимо тринадцати новых диагностик, большая часть которых на этот раз посвящена языку запросов, я хотел бы отдельно выделить четыре вещи.
1) Реализованы несколько фишек из списка "это должно быть в продукте, чтобы выпустить релиз 1.0". Это переход к определению (f12 в конфигураторе и go to definition в vscode), поиск ссылок на метод (find references) и всплывающая подсказка по наведению мышки (hover). Пока это работает только для конфигураций 1С, но зато работает чуть лучше, чем в родном плагине для VSCode. Например, всплывающая подсказка точнее разбирает описание процедур и функций и красивее их отображает. А прямо сейчас в разработке находится развитие этого механизма, которое позволит получать красивую всплывающую подсказку при наведении на переменную. Надеюсь, что войдет в следующий релиз.
2) Реализована новая фишка, которая отсутствует в плагине для VSCode - показ иерархии вызовов (show call hierarchy). Я уже анонсировал ее ранее, но теперь она работает более-менее стабильно и не отваливается по непонятным причинам. Общий принцип работы можете посмотреть в приложенном скриншоте. Можно посмотреть как входящие, так и исходящие вызовы.
3) Проведена большая оптимизационная работа для диагностики по поиску опечаток. Та, которая Typo. Та, которая занимала чуть ли не треть от времени выполнения анализа (не считая разбора метаданных и всяких служебных штук). Воспользовавшись идеей, которую можно кратко выразить как "закэшируй всю тяжелую фигню", получилось добиться впечатляющих результатов - на моем железе время выполнения анализа сократилось в среднем на 20%! Да, оно сильно зависит от количества ядер и их мощности. Конечно же мы в новом релизе добавили механизмов, которые требуют дополнительных вычислительных мощностей (а значит и времени). Но согласитесь, цифра все равно очень приятная.
4) Еще был переработан механизм показа документации по диагностике. Если раньше в редакторе рисовалось раздражавшее многих подчеркивание текста, а ссылка на диагностику была отдельной строкой "Документация по диагностике..." во всплывашке, то теперь ссылка спрятана рядом с сообщением об ошибке. Нужно просто нажать на код диагностики в правой части всплывашки. Впрочем, если вам удобнее со старым механизмом, то вы можете вернуть старое поведение через конфигурационный файл, задав настройку
documentLink->showDiagnosticDescription в true.Несколько слов про BSLParser и MDClasses.
MDClasses теперь умеет разбирать тексты запросов в динамических списках и макетах СКД. BSL Language Server с этой информацией пока ничего делать не умеет, но обязательно научится. BSLParser научился разбирать новые операторы языка
асинх и ждать.Огромное спасибо всем приложившим руку к релизу! Очень рад видеть как новые лица, так и вклад от старичков :)
Полный список изменений доступен по ссылке - https://github.com/1c-syntax/bsl-language-server/releases/tag/v0.18.0
P.S. А еще мы переехали на новую площадку для переводов - https://crowdin.com/project/bsl-language-server
P.S.S. А еще сайт BSL Language Server стал еще более мягким и шелковистым, даже ночную тему туда завезли! https://1c-syntax.github.io/bsl-language-server/



