使用帮助
  • 粘贴.proto内容即可,也可把文件直接拖入左侧输入框
  • 缩进默认2空格(Protobuf 官方风格),可切换为4空格
  • 格式有误时右侧保留上一次的结果,点「格式化」按钮会提示错误原因

Proto格式化、Protobuf格式化

在线格式化.proto文件:粘贴源码即可自动缩进排版,并在排版前检查语法与字段编号问题。

本工具只调整缩进、换行和空格,注释、字符串、字段选项、字段编号一律原样保留,不会像解析器那样丢掉注释或改写数字字面量。

排版风格与clang-format、buf format的默认行为一致(2空格缩进、单空格、字段不做列对齐),打开即用,不需要安装任何工具链。

本站所有工具操作均在浏览器本地完成,数据不会上传到任何服务器,可放心使用。

功能说明:

  • 格式化Proto:统一缩进(可选2或4空格)、左大括号不换行、右大括号单独成行、等号与逗号前后单空格,层级清晰
  • 保留原文:注释(行注释、块注释、行尾注释)、字符串内容、字段选项(如 [deprecated = true])全部原样保留,只改空白
  • 语法校验:缺分号、括号或大括号不配对、字符串未闭合、多余的}直接报错并给出所在行;有错时不输出结果,避免把错误文件排得更像对的
  • 编码规范检查:字段编号重复、字段名重复、编号超出1~536870911、编号落在19000~19999保留区间、编号被reserved占用、proto3中使用required、缺少syntax声明、单行超过80列(仅提示,不阻止格式化)
  • 顶层排版:message/enum/service之间自动空一行,块内连续空行压缩为一行,不会产生大段空白
  • 代码折叠:按大括号层级折叠,可一键折叠或展开全部message、enum、service
  • 本地文件:支持拖入或选择.proto文件(兼容.protodevel、.txt)
  • 结果导出:一键复制、保存为.proto文件,支持搜索跳转、大屏查看

常见用途:

  • 检查proto的字段编号问题:重复编号、编号落在保留区间、编号已被reserved占用
  • 阅读第三方proto(如google/protobuf下的官方定义)前先排版,注释与字段选项不会丢
  • 调整proto3与proto2语法差异带来的问题,例如proto3中误用了required