Protobufフォーマッター
Protocol Buffer(.proto)ファイルをオンラインでフォーマット・整形。インデントの修正やProtobufスキーマ構文の正規化を行います。
入力
出力
Protocol Buffers(Protobuf)とは?
Protocol Buffers(Protobuf)は、Googleが開発した言語中立・プラットフォーム中立のデータシリアライゼーション形式です。.protoファイルはメッセージとサービスのスキーマを定義し、gRPC APIで広く使用されています。
Protobufフォーマッターは、インデントの正規化(レベルごとに2スペース)、ブロックの整列修正、末尾の空白の除去を行い、チームが一貫性のある読みやすい.protoスキーマファイルを維持できるようにします。ProtobufスタイルガイドとGitHubリポジトリも参照してください。
使い方
.protoの内容を貼り付ける
Protocol Bufferスキーマを左側のエディタに貼り付けるか、アップロードをクリックして.protoファイルを読み込みます。
即座にフォーマット
フォーマッターがインデント(レベルごとに2スペース)を修正し、messageとserviceのブロック構造を正規化し、末尾の空白を除去します。
コピーまたはダウンロード
コピーボタンで結果をコピーするか、ダウンロードで.protoファイルとして保存します。
フォーマット例
例: proto3 メッセージ定義をフォーマット
フォーマット前の入力:
syntax="proto3";package api;message User{string name=1;int32 age=2;repeated string roles=3;bool active=4;}フォーマット後の出力:
syntax = "proto3";
package api;
message User {
string name = 1;
int32 age = 2;
repeated string roles = 3;
bool active = 4;
}よくある質問
proto2とproto3の違いは何ですか?
Proto3はより新しく推奨される構文です。required/optionalフィールドルールを廃止し、よりシンプルなデフォルト値を使用し、JSONシリアライゼーションのサポートが向上しています。フォーマッターは両方のバージョンをサポートしています。
gRPCサービス定義にも使用できますか?
はい。gRPCサービス定義はserviceとrpcブロックを持つ標準的なProtobuf構文を使用しており、フォーマッターで正しく処理されます。
フォーマッターはProtobuf構文を検証しますか?
フォーマッターはインデントとブロック構造を正規化しますが、完全なセマンティック検証は行いません。完全なコンパイルと検証にはprotocを使用してください。
.protoファイルにはどのインデントスタイルが使われますか?
フォーマッターは公式のProtobufスタイルガイドに従い、インデントレベルごとに2スペースを使用します。message、service、enum内のネストされたブロックはすべて一貫してインデントされます。