Никита Федькин - мысли, заметки, анонсы
СтатистикаСвязаться со мной - @nixel2007. Никита Федькин (ранее Грызлов). На канале не публикуется платная реклама.
- Последний пост
- 21:02
- Последнее чтение
- 12:46
- Постов за неделю
- 4
- Всего постов
- 22
- Тип
- открытый
- Язык
- русский
- Категория
- Технологии (по похожим)
- В каталоге с
- 12 авг.
- 1/24сутки в ленте
- 1 049
- 1/48двое суток
- 1 202
- 1/72трое суток
- 1 296
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
Одна из песен на ряду с 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=ygUk0LrQsNGA0LjQvdCwINGB0LvQvtC20L3QviDQsdC70Y_RgtGM
видео или голосовое, без подписи
А помните, была такая штука как... ОБЫЧНЫЕ ФОРМЫ
видео или голосовое, без подписи
видео или голосовое, без подписи
Порог возможностей Конфигуратора преодолён. Кажется, EDT тоже где-то рядышком уже. Ждите в 1.1.0 З.Ы. Говорят, едт ломается на вводе типов элементов массива
видео или голосовое, без подписи
видео или голосовое, без подписи
Почти 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 на scala с мэйнтейнером на подводной лодке, появляющимся на GitHub раз в полгода на пару недель, и с lsp4intellij - хард-форке, который я начинал делать совместно с шри-ланкийскими ребятами из 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к - это сгенеренные 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/ --- СПАСИБО всем, кто участвовал в разработке, обсуждении, просто пользовался BSL LS все эти годы и ждал релиза. СПАСИБО Ане, которая не только терпела эти годы разработки, но и сама помогала проектировать некоторые механизмы системы.
видео или голосовое, без подписи
видео или голосовое, без подписи