ru
Feedback
Никита Федькин - мысли, заметки, анонсы

Никита Федькин - мысли, заметки, анонсы

Открыть в Telegram

Связаться со мной - @nixel2007. Никита Федькин (ранее Грызлов). На канале не публикуется платная реклама.

Больше
2 871
Подписчики
Нет данных24 часа
-57 дней
+3030 день
Архив постов
Обычная подписка Ваш вклад помогает развивать этот канал и делать его луч... Ладно, это тоже на топливо для опенсорса. Не на пиво, так хоть на пиццу.

На бельгийское топливо для опенсорс-движухи Хотите сказать мне "спасибо" и закинуть чеканную монету? Нажатие на кнопочку вниз
На бельгийское топливо для опенсорс-движухи Хотите сказать мне "спасибо" и закинуть чеканную монету? Нажатие на кнопочку внизу будет отличным способом выразить благодарность и подстегнет пилить больше фич!

Раз пошла такая пьянка, и злобные Антропики снова списали сотку с моей карты (какие наглецы!), то напоминаю, что у вас есть возможность поддержать мой труд материально (хотя бы отбивать ежемесячные затраты на Claude было бы уже неплохо). Внизу волшебные кнопочки с разовой благодарностью и с ежемесячной благодарностью. Заранее спасибо!

Совсем забыл сказать - сонар-плагин с BSL LS 1.0.7 на борту доступен в сонаровском маркетплейсе. Обратите внимание, что BSL L
Совсем забыл сказать - сонар-плагин с BSL LS 1.0.7 на борту доступен в сонаровском маркетплейсе. Обратите внимание, что BSL LS 1.0 начал читать синтакс-помощник при анализе. Если у вас sonar-scanner запускается на машине без установленной платформы или хотя бы без подложенных файлов hbk, то большую часть контекста BSL LS получить будет неоткуда. Так что не забудьте обновить ваши сборочные контуры для пущего эффекта.

Одна из песен на ряду с slow-blues композициями Stevie Ray Vaughan, вложившая в меня любовь к бас-гитаре, и сподвигнувшая меня её таки купить себе на семнадцатилетие. https://music.youtube.com/watch?v=1x4qu8KAAsI&si=dsnowOfzD6H6kSCP Потрясающий и трогающий дуэт Молко и Боуи, басовая линия, гитарная линия, общая композиция. Одна из лучших песен 90ых, если не лучшая.

Подкинули gif-версию вот

Вот именно поэтому я не садился за систему типов. NSFW: https://www.youtube.com/watch?v=UHQ6vJ-r50U&pp=ygUk0LrQsNGA0LjQvdCwIN
Вот именно поэтому я не садился за систему типов. NSFW: https://www.youtube.com/watch?v=UHQ6vJ-r50U&pp=ygUk0LrQsNGA0LjQvdCwINGB0LvQvtC20L3QviDQsdC70Y_RgtGM

А помните, была такая штука как... ОБЫЧНЫЕ ФОРМЫ
+1
А помните, была такая штука как... ОБЫЧНЫЕ ФОРМЫ

Порог возможностей Конфигуратора преодолён. Кажется, EDT тоже где-то рядышком уже.
+2
Порог возможностей Конфигуратора преодолён. Кажется, EDT тоже где-то рядышком уже.

Говорят, я 1сник. Спорно, конечно, даже в те годы, когда я писал на 1С :D Но ради движухи...

Почти 8 лет назад (без пяти дней) мы с @Labotamy засели в скайпе с вопросом "что бы такое клёвое совместно написать". И решили запилить плагин для поддержки 1С в IntelliJ IDEA. Взяли в руки официальный гайдбук по разработке плагина, черновик грамматики в формате jflex, которую незадолго до этого напилил @dmpas и начали творить. Это привело к тому, что через неделю в проекте появился класс BSLLanguageServer и заверте... Плагин пытался одновременно работать поверх BSL LS и BSL Parser путем скрещивания через хитрый antlr adaptor (я не опечатался, автор так назвал свое детище), по страдал от двух вещей: 1) antlr в BSL Parser притерпевал регулярные изменения: то мы жили на ванильном antlr4, то переехали на optimized fork с несовместимым API, то переехали обратно, в итоге вообще остановились на собственном форке за авторством @TheShadoWCo, который героически перенёс все оптимизации из optimized fork в ванильный antlr, сохранив обратную совместимость. А antlr adaptor так и оставался в версии что.то.там.релиз.кандидат.спаншот.на.коленке. 2) Отсутствие фич в BSL LS типа автодополнения и контекста платформы. То есть пилить плагин для IDEA было прикольно, но при это было и понимание, что усилия надо сосредоточить на самом BSL LS, обогатив его фичами, которые растекутся потом по всем редакторам. За это время я успел поработать над несколькими различными плагинами подключения языковых серверов в IDEA: и старый intellij-lsp на scale с мэйтнейнером на подводной лодке, появляющемся на GitHub раз в полгода на пару недель, и с lsl4intellij - хард-форке, который я начинал делать совместно с шри-ланкийскими ребятами из WSO2/Ballerina Lang, и (теперь уже бес)платным клиентом в IntelliJ IDEA Ultimate, и наконец плагином lsp4ij от RedHat. Последний хоть и содержал несколько детских болячек, которые вскрывал подключенный к нему BSL LS на раз, но заодно имел и активных мэйтнейнеров, которые быстро приходят в созданные баг-репорты и, что совсем уж удивительно, быстро чинят обнаруженые баги! А ещё у них в документации был подробный гайд, как запускать LSP-сервер поверх грамматики textmate для быстрой раскраски кода. А textmate - это как раз то, с чего вообще начинался проект 1c-syntax в 2014-2015. И вот, спустя почти 8 лет и трех переписываний с нуля, Language 1C (BSL) плагин для семейства IntelliJ Platform наконец опубликован в JetBrains Marketplace: https://plugins.jetbrains.com/plugin/32659-language-1c-bsl- Если маркетплейс у вас не работает, то установочный zip-архив можно забрать с релизов на GitHub. P.S. Не без помощи нейросеток конечно. P.S.S. А что вы мне сделаете, я в другом городе (с)

Вышла "полная" версия. Вот зачем нужны нейросети, а не вот это вот все ваше программирование. https://youtu.be/pSrx3_V-nws?is=Sx_Iu5PbCxaULuXY

Инструкция по настройке MCP в плагине bsl ls для VS Code 🛠️ 1️⃣ Обновите плагин (обновление должно установиться автоматически). 2️⃣ В настройках плагина включите опцию запуска MCP. 3️⃣ В настройках плагина укажите порт, на котором будет запускаться MCP. 4️⃣ Откройте любой файл bsl, чтобы запустить прогрев BSLLS. 5️⃣ Настройте используемого агента: добавьте MCP через http streamble по адресу http://localhost:port/mcp. 6️⃣ Можно начинать работу: все инструменты, поставляемые с bsl ls, теперь доступны агенту. ✅

В BSL LS 1.0 появился не только standalone-режим запуска MCP-сервера, но и теоретическая возможность поднять MCP из уже запущенного bsl-плагином BSL LS. Один бинарник (и один общий контекст, не тратя лишние гигабайты памяти) работает одновременно и по LSP и по MCP. Но в сам плагин эта функциональность не приехала. А сегодня Дима сделал допилку в плагине и набросал инструкцию по подключению. Тестируем!

Ещё из недавних улучшений - в плагине для vsc появилась настройка для передачи дополнительных параметров джавы при запуске BSL LS, которая работает как для external jar, так и для обычных дистрибутивов. И она *переживает* обновление BSL LS. Один раз задаёте, и оно просто работает. Сейчас там установлено значение -Xmx4g для выделения четырёх гигабайт оперативной памяти.

Масштаб релиза можно оценить вот тут: https://github.com/1c-syntax/bsl-language-server/pull/4157 35к из этих 130к - это сгене
Масштаб релиза можно оценить вот тут: https://github.com/1c-syntax/bsl-language-server/pull/4157 35к из этих 130к - это сгенеренные JSON'ы. Остальное - новый код и тесты и ресурсы. Раскладка по размеру: https://sonarcloud.io/component_measures?metric=lines&id=1c-syntax_bsl-language-server

https://github.com/1c-syntax/bsl-language-server/releases/tag/v1.0.0 У меня просто нет слов, ребята. Проект, начатый 8 лет назад, наконец-то выполнил (и очень-очень перевыполнил) план, намеченный на версию 1.0.0. 8 лет назад я сказал себе, что 1.0 выйдет тогда, когда в vsc-плагине можно будет отключить ВСЕ языковые возможности в пользу BSL LS. И вот, сегодня, вместе с релизом vsc-language-1c-bsl 2.0.0, это наконец осуществилось. Плагин по умолчанию больше не "наполняет свой кэш" для внутренней системы типов. Вся логика делегируется в BSL LS. Новых возможностей в релизе 1.0.0 ОЧЕНЬ много. Система вывода типов, которой так не хватало для работы автодополнения, в разы умнее моих самых смелых фантазий 8 лет назад. Я набросал новый раздел сайта с множеством гифок по каждой языковой фиче. Залетайте на сайт: https://1c-syntax.github.io/bsl-language-server/capabilities/

#какэтоесть Ну как тут перестать фоткать каждый раз, когда в городе хорошая погода... И вся эта красота меньше, чем в 15 мину
+5
#какэтоесть Ну как тут перестать фоткать каждый раз, когда в городе хорошая погода... И вся эта красота меньше, чем в 15 минутах на велике от дома.