Что произошло с Protobuf и языковым сервером?
Поддержка появилась не внутри самого проекта Protobuf и не в Anthropic. Её выпустил Buf. Первоисточник: анонс Buf от 14 января 2026 года.
“Buf is proud to announce the first fully-featured, production-grade LSP server for Protobuf.”
Перевод: «Buf с гордостью представляет первый LSP-сервер для Protobuf с полным набором функций, готовый для production».
- Buf, анонс от четырнадцатого января.
До этого, по формулировке Buf, для Protobuf не было одного сопоставимого LSP-сервера с таким набором функций. Теперь Buf связывает сущности схемы между файлами и показывает диагностику прямо в редакторе. Я проверил список возможностей: из .proto можно перейти к определению, найти ссылки и получить автодополнение.
Перед генерацией кода ты получаешь ещё одну проверку схемы: редактор может показывать диагностику ошибок схемы раньше следующего запуска.
Версия Buf CLI или расширения в анонсе Buf не указана. Я не подставляю её из сторонних страниц: номер версии здесь остаётся неизвестным.
Что было раньше и что изменилось?

| Было | Стало |
|---|---|
| У Buf не было собственного полнофункционального LSP для Protobuf | Появился LSP-сервер внутри Buf CLI |
.proto-файлы не имели заявленного Buf-набора навигационных функций | Есть переход к определению, автодополнение и поиск ссылок |
| В старом состоянии Buf не обещал этот набор функций | Сервер добавляет диагностику и семантическую подсветку |
| Форматирование не подтверждено в основном списке анонса Buf | Форматирование отдельно обсуждается в issue о расхождении с buf format |
| Ограничения не были частью старого состояния | Buf отдельно перечислил функции, которых пока нет |
Я бы начал не с фразы production-grade, а со списка того, чего сервер пока не умеет. На старте он не добавляет import автоматически, не учитывает часть настроек buf.yaml, не подсказывает custom options и номера полей. Также нет отдельной поддержки Protovalidate, включая подсветку CEL-фрагментов.
Я нашёл ещё несколько расхождений в issue Buf: LSP не всегда следует buf.yaml, падает на некоторых .proto, а форматирование может отличаться от buf format; отдельный issue также посвящён отсутствию Format Selection. Поэтому «production-grade» не означает, что каждая команда редактора уже работает без сюрпризов.
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК
Что проверить перед подключением Buf LSP?
Завтра действие простое: открой .proto, внеси небольшую правку и посмотри, что показывает редактор. Если он подсветил ошибку, сначала исправь схему. Не проси агента сразу переписывать связанные файлы и запускать весь процесс генерации.
Я разделяю две проверки:
- Buf LSP проверяет и объясняет происходящее в редакторе.
- Затем отдельно проверь проект инструментом, который используешь для генерации кода.
Поэтому после правки я всё равно запускаю обычную проверку схемы и кода.
С Claude Code, который читает файлы и может менять их как агент, граница ещё заметнее. Anthropic описывает работу с LSP через плагины. В Claude Code отдельно подключают LSP-плагин, а Buf LSP запускается через Buf CLI. Перед задачей проверь, какие файлы и настройки Claude Code реально видит, а не какие, как тебе кажется, должен видеть.
Проверь открытые `.proto`-файлы через доступный LSP. Сначала перечисли: - найденные диагностики; - ошибки импортов; - определения, к которым можно перейти; - ссылки на определения; - места, где требуется ручная проверка. Не меняй файлы, не запускай генерацию и не переписывай связанные файлы автоматически: сначала собери список диагностик и мест для ручной проверки. Если Buf LSP или его бинарник не подключён, прямо скажи об этом и остановись.
В официальном каталоге Anthropic Protobuf не указан среди готовых LSP-плагинов. Пользовательский плагин возможен, но для него отдельно нужен установленный бинарник сервера. Поэтому я бы не писал в задаче Claude Code «подключи Buf LSP» и не ждал, что агент сам найдёт рабочую интеграцию.
Как проверить подключение Buf LSP по шагам?


-
Установи расширение Buf в VS Code и открой файл с расширением
.proto; отдельная команда установки в доступных материалах не приведена.После установки открой файл с расширением
.proto. Проверь, появились ли диагностика, автодополнение и переходы. Не считай сам факт установленного расширения доказательством, что сервер обработал проект. -
Подготовь Buf CLI для Neovim: он запускается как LSP-сервер.
Минимальную версию CLI в доступных источниках определить нельзя. Я не добавляю команду установки или номер версии, потому что это пришлось бы брать из неподтверждённого документа.
-
Запусти сервер правильной командой. В настройке Neovim укажи запуск
buf lsp serve.luavim.lsp.config('buf-lsp', { cmd = { 'buf', 'lsp', 'serve' }, filetypes = { 'proto' }, root_markers = { 'buf.yaml', '.git' }, })Затем включи конфигурацию:
luavim.lsp.enable('buf-lsp') -
Укажи тип файлов
proto. В конфигурации оставьfiletypes = { 'proto' }.Я оставляю
proto, чтобы Neovim запускал сервер только для.proto. Не подставляй сюда расширение.proto: в официальном примере Buf используется значениеproto. -
Выбери корень проекта. Для корня используй
buf.yamlили.git.luaroot_markers = { 'buf.yaml', '.git' }Корнем я ставлю
buf.yamlили.git: иначе импорт может проверяться не так, как в CLI. Если открыть отдельный файл не из того каталога, результат может отличаться от проверки Buf CLI. -
Проверь работу на одном файле. Открой
.protoи проверь диагностику, переход к определению и ссылки.Сначала внеси маленькую правку. Не начинай с масштабного переписывания схемы агентом. Если функция не сработала, сначала проверь подключение сервера и корень проекта. Полную замену конфига оставь на потом.
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК
Сколько стоит Buf LSP и работает ли он из России?
Здесь важно разделить редактор и внешние сервисы. В VS Code в источнике указано расширение Buf. Neovim работает с локальным Buf CLI и командой buf lsp serve. Источники не сообщают о цене LSP или необходимости отдельного токена.
В проверенных источниках нет данных о:
- цене расширения;
- цене Buf CLI;
- наличии платных функций;
- региональных ограничениях;
- доступности загрузки из России;
- минимальной версии CLI.
Поэтому я не буду писать «Buf LSP бесплатен» или «из России всё работает». Таких данных в проверенных источниках нет. Перед подключением проверь официальную страницу расширения и документацию Buf на момент установки.
Вопросы и ответы
Вопросы и ответы
Что такое message в google protobuf и при чём тут `.proto`?
Фраза protobuf oneof здесь только пример конструкции схемы: Buf LSP помогает диагностировать .proto и переходить между определениями, но устройство oneof в новости не разбирается.
Как работает protocol buffers protobuf import и почему редактор подсвечивает ошибки в импортируемых файлах?
Проверь импорт на проекте с корнем buf.yaml или .git и посмотри, как LSP обрабатывает его в конкретном проекте. Полный разбор protocol buffers protobuf import в эту новость не входит.
Где посмотреть примеры protobuf generate и как начать писать свой `.proto`-файл?
Подробные примеры protobuf generate не входят в проверенные источники этой статьи. Для проверки новости достаточно открыть локальный .proto в редакторе и посмотреть, показывает ли Buf LSP диагностику и переходы.
Как проверить protobuf enum в редакторе?
Синтаксис и диагностика protobuf enum не разобраны в проверенных источниках этой новости. Поэтому я не привожу здесь предметное описание конструкции.
Для чего нужен protobuf required в схеме?
Правила protobuf package и выбора имени пакета не разобраны в проверенных источниках этой новости. Я не добавляю сюда учебное объяснение без отдельной ссылки на документацию Protobuf.
Как проверить protobuf reserved в редакторе?
Список protobuf type и правила выбора типа поля не входят в проверенные источники этой новости. Я не выдаю их за возможность Buf LSP.
Как подключить Buf LSP к protobuf vscode для работы с `.proto`-файлами?
Для protobuf vscode установи расширение Buf, открой .proto и проверь диагностику, автодополнение и переходы. В проверенных источниках не указаны команда установки, версия расширения и региональные ограничения. Если расширение не работает, проверь корень проекта и наличие Buf CLI там, где это требуется.
Как использовать protobuf compiler и protobuf json в проекте после подключения языкового сервера?
После подключения языкового сервера .proto редактируется с диагностикой, автодополнением, переходом к определениям и поиском ссылок. Buf LSP не является инструментом генерации кода, поэтому protobuf compiler и protobuf json проверяй отдельно. Я также не считаю результат LSP доказательством готовности сборки и отдельно проверяю protobuf api проекта.
Источники
- Plugins reference - Claude Code Docs
- Create plugins - Claude Code Docs
- Tools reference - Claude Code Docs
- Discover and install prebuilt plugins - Claude Code Docs
- LSP formatting behavior is different from
buf format- GitHub Issue #3701 - Buf LSP diagnostic does not follow
buf.yamlsetting - GitHub Issue #4159 - LSP crashes with SIGSEGV when processing service definitions - GitHub Issue #4192
- Buf LSP throws index out of range - GitHub Issue #4218
- Format Selection support - GitHub Issue #4352
Практикум «Старт»
Три дня живой практики: от идеи до работающего проекта по ссылке
2 000 ₽старт 5 августа, 18:00 МСК

