Buf 推出首个 Protobuf LSP 服务器,为开发带来重大变革!
2026/8/17 18:09:23 网站建设 项目流程

Buf 发布 Protobuf LSP 服务器

2026 年 1 月 14 日,Buf 自豪地宣布,推出首个功能完备、适用于生产环境的 Protobuf LSP 服务器。语言服务器协议(Language Server Protocol,LSP)是将语言支持集成到喜爱的 IDE 或文本编辑器(如 VSCode、IntelliJ 或 Neovim)的标准 API。LSP 服务器提供智能功能,支持跳转到定义、代码自动补全、查找引用以及语义感知的语法高亮显示。在此之前,Protobuf 一直缺乏像其他主流编程语言那样的 LSP 支持,而借助 Buf CLI,Protobuf 首次获得了现代 IDE 支持。

发布原因与相关工具

在 Buf 看来,Protobuf 是最好的模式语言,得益于其成熟的库和工具生态系统。Protobuf 不仅应是明智之选,还应是最便捷的选择。这就是 Buf 发布 LSP 服务器的原因,它是完善 Protobuf 生态系统的工具之一,其他工具还包括 Protobuf - ES(已用于 Chromium!)、Protovalidate、ConnectRPC 和 Buf 模式注册表。

安装 Buf LSP

VSCode 是受欢迎的图形编辑器之一,对 LSP 支持出色。要使用 Buf LSP,只需安装 Buf 扩展,它会自动使用已安装的 Buf CLI 版本(含 LSP 服务器),必要时也会为用户安装。Neovim 是 Buf 工程师们喜欢的编辑器,Buf LSP 与之配合也很好。用户需安装 Buf CLI,并将 Neovim 配置为使用它作为 LSP 服务器:一是确保安装了 nvim - lspconfig 仓库,按说明进行安装;二是在.nvimrc 文件中添加 lspconfig.buf_ls.setup {},或者在 init.lua 等配置文件中添加相关内容,然后在.nvimrc 文件中使用 vim.lsp.enable('buf - lsp') 启用它。若使用其他编辑器,要先了解 LSP 集成工作方式,确保运行 buf lsp serve 命令启动服务器。

利用工具链

Buf 维护了一个 Protobuf 编译器前端 protocompile,其实现不仅完全兼容,而且比 protoc 更快、更灵活,谷歌在其庞大代码库的某些部分也将其与 protoc 一起使用。为构建 Buf LSP,Buf 将 protocompile 提升到新水平,开发了基于查询驱动的前端,支持增量编译,能提供更好的诊断信息,例如可正确诊断重复的 repeated 修饰符。Buf 设计了新的抽象语法树和中间表示,用于精确诊断错误,而非使用 FileDescriptorProto。它灵活性高,能轻松实现 Protobuf 新增语言特性,如 2024 版即将推出的功能,还具有内存效率高的特点,能处理包含大 Buf 模块的工作空间。

未来承诺

Buf 在 Buf LSP 方面的工作未结束,会不断改进诊断功能,并计划为 LSP 服务器添加更多特性,如添加 import 语句作为自动修复选项、与 buf.yaml 更紧密集成、为自定义选项提供代码补全和引用查找功能、自动建议字段/枚举编号、提供专门的 Protovalidate 支持(包括对 CEL 代码片段的语法高亮显示)。在 Buf,将始终推动用户使用 Protobuf 所能实现的边界,为所有人实现基于模式的开发。若希望在组织的数据上强制执行标准,可联系了解 Buf 是否能提供帮助。若对构建优秀的开发工具充满热情,可查看招聘页面。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询