Вайбцех

Buf объявил 14 января 2026 года: LSP для protobuf проверяет схему

Опубликовано 7 мин чтенияБазовый
Автор статьи с фотографического портрета показывает карточку о проверке protobuf-схемы, рядом удивлённый кот.
Что узнаете
  • понимание, что такое Protobuf и .proto
  • список возможностей Buf LSP и его ограничений
  • как проверить подключение в VS Code и вручную запустить Buf LSP в Neovim
  • границы интеграции с Claude Code
Применить за 30 мин
Базовый
7просмотров
Что в инструкции
  1. Что произошло с Protobuf и языковым сервером?
  2. Что было раньше и что изменилось?
  3. Что проверить перед подключением Buf LSP?
  4. Как проверить подключение Buf LSP по шагам?
  5. Сколько стоит Buf LSP и работает ли он из России?
  6. Вопросы и ответы

Что произошло с 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.
БылоСтало
У 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, внеси небольшую правку и посмотри, что показывает редактор. Если он подсветил ошибку, сначала исправь схему. Не проси агента сразу переписывать связанные файлы и запускать весь процесс генерации.

Я разделяю две проверки:

  1. Buf LSP проверяет и объясняет происходящее в редакторе.
  2. Затем отдельно проверь проект инструментом, который используешь для генерации кода.

Поэтому после правки я всё равно запускаю обычную проверку схемы и кода.

С Claude Code, который читает файлы и может менять их как агент, граница ещё заметнее. Anthropic описывает работу с LSP через плагины. В Claude Code отдельно подключают LSP-плагин, а Buf LSP запускается через Buf CLI. Перед задачей проверь, какие файлы и настройки Claude Code реально видит, а не какие, как тебе кажется, должен видеть.

Проверка Protobuf-схемы перед изменением проекта
Проверь открытые `.proto`-файлы через доступный LSP.

Сначала перечисли:
- найденные диагностики;
- ошибки импортов;
- определения, к которым можно перейти;
- ссылки на определения;
- места, где требуется ручная проверка.

Не меняй файлы, не запускай генерацию и не переписывай связанные файлы автоматически: сначала собери список диагностик и мест для ручной проверки.
Если Buf LSP или его бинарник не подключён, прямо скажи об этом и остановись.

В официальном каталоге Anthropic Protobuf не указан среди готовых LSP-плагинов. Пользовательский плагин возможен, но для него отдельно нужен установленный бинарник сервера. Поэтому я бы не писал в задаче Claude Code «подключи Buf LSP» и не ждал, что агент сам найдёт рабочую интеграцию.

Как проверить подключение Buf LSP по шагам?

Собака поднимает лапу рядом с тремя шагами проверки Buf LSP.
Мужчина у конфигурации Neovim закрывает лицо ладонью из-за неправильного корня проекта.
  1. Установи расширение Buf в VS Code и открой файл с расширением .proto; отдельная команда установки в доступных материалах не приведена.

    После установки открой файл с расширением .proto. Проверь, появились ли диагностика, автодополнение и переходы. Не считай сам факт установленного расширения доказательством, что сервер обработал проект.

  2. Подготовь Buf CLI для Neovim: он запускается как LSP-сервер.

    Минимальную версию CLI в доступных источниках определить нельзя. Я не добавляю команду установки или номер версии, потому что это пришлось бы брать из неподтверждённого документа.

  3. Запусти сервер правильной командой. В настройке Neovim укажи запуск buf lsp serve.

    lua
    vim.lsp.config('buf-lsp', {
        cmd = { 'buf', 'lsp', 'serve' },
        filetypes = { 'proto' },
        root_markers = { 'buf.yaml', '.git' },
    })

    Затем включи конфигурацию:

    lua
    vim.lsp.enable('buf-lsp')
  4. Укажи тип файлов proto. В конфигурации оставь filetypes = { 'proto' }.

    Я оставляю proto, чтобы Neovim запускал сервер только для .proto. Не подставляй сюда расширение .proto: в официальном примере Buf используется значение proto.

  5. Выбери корень проекта. Для корня используй buf.yaml или .git.

    lua
    root_markers = { 'buf.yaml', '.git' }

    Корнем я ставлю buf.yaml или .git: иначе импорт может проверяться не так, как в CLI. Если открыть отдельный файл не из того каталога, результат может отличаться от проверки Buf CLI.

  6. Проверь работу на одном файле. Открой .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 проекта.

Источники

Практикум «Старт»

Три дня живой практики: от идеи до работающего проекта по ссылке

2 000 ₽старт 5 августа, 18:00 МСК

Материал был полезен?
Сергей Мазур
Автор
Сергей Мазур
Основатель Вайбцеха

Собираю продукты с ИИ-агентами и рассказываю, как это делать без программиста.

Читайте также

Qwen 3.8 27B вышла: xhigh по умолчанию съедает контекст до первой правки

Qwen 3.8 27B вышла 14 августа 2026 года. Модель сильна в коде и работе с изображениями, но режим xhigh может превратить простую задачу в долгий марафон рассуждений.

8 мин

Anthropic опубликовала системные промпты Claude: что перенести в Claude Code и CLAUDE.md

Anthropic опубликовала версии системных промптов Claude для веба и мобильных приложений. Разбираю, почему это не полный промпт Claude Code и что можно забрать себе.

8 мин

claude 5: текстовая маркировка поддерживаемых моделей в 2026 году

Anthropic описала невидимый статистический водяной знак для текстов Claude. Разбираю, что это меняет для вайб-кодера и почему метка не доказывает авторство.

7 мин

anthropic stock и водяной знак Claude: что будет с кодом в 2026

Anthropic раскрыла механику водяного знака Claude. Разбираю, что изменится для Claude Code, обычного текста, копирования и правок.

8 мин

Термины из инструкции