Pega la definición Protocol Buffers para revisar campos y firmas RPC detectados. El resultado resume la estructura; no compila código de cliente.
Se ejecuta localmente en tu navegadorPega una definición Protocol Buffers y pulsa Inspeccionar localmente: la página enumera lo que puede leer del texto — la línea de sintaxis, el paquete, cada mensaje con sus campos en el orden del archivo, las enumeraciones con sus valores, los grupos oneof y los servicios gRPC con sus métodos, marcando las llamadas en streaming. Para el primer mensaje del archivo se construye un ejemplo JSON estructural. No se compila ni se sube nada: sin protoc, sin llamada gRPC, sin ida y vuelta al servidor.
El analizador lee texto proto2 y proto3 igual, por patrones, así que devuelve lo que está escrito y no lo que protoc haría con ello. Con el panel de red del navegador abierto, inspeccionar una definición no genera ninguna petición; el resumen, los contadores y la tabla se rellenan dentro de la pestaña.
Los valores se tipan como los codifica proto3 JSON: un campo string recibe "example", int64 y uint64 pasan a la cadena "0", bytes pasa a "base64-data", bool a true y un campo repeated es un array de un elemento. Un campo map se convierte en un objeto con una clave de relleno, y un campo de tipo mensaje se expande en su propio objeto anidado.
Un campo de enumeración toma el primer valor declarado en esa enumeración, así que un campo Currency queda como "CURRENCY_UNSPECIFIED" en lugar de un número. Un mensaje que se referencia a sí mismo se corta en un objeto vacío, lo que mantiene finito el ejemplo, y solo el primer mensaje del archivo recibe ejemplo: si te interesa otro tipo, súbelo al principio.
Cuando un tipo de campo no está declarado en el texto pegado — google.protobuf.Timestamp, por ejemplo, o un mensaje de un import — el ejemplo muestra un objeto vacío y el panel añade un aviso como «1 field type(s) come from imported or external definitions». El nombre del tipo sigue apareciendo en el resumen y en la tabla.
La herramienta nunca descarga ese archivo importado: una línea import no cambia la salida y ninguna petición sale de la página. Toma el ejemplo como un boceto estructural que contrastar con el esquema real, no como una carga útil lista para enviar a un servidor.
Los comentarios se omiten, tanto // como /* */, y los caracteres dentro de un literal de cadena no se interpretan, de modo que un valor por defecto como [default = "{"] se lee bien. Un mensaje anidado se convierte en una entrada propia con nombre punteado, y el mensaje contenedor solo enumera los campos declarados directamente en él.
Algunas líneas se dejan fuera a propósito: las declaraciones reserved, los rangos extensions, las opciones de archivo como option java_package = "com.acme"; y las líneas import. No aparecen ni en el resumen ni en la tabla ni en los contadores: la salida describe solo mensajes, enumeraciones, campos y RPC.
Un texto sin declaración de mensaje, enumeración o servicio termina con «No message, enum or service declaration was found in this .proto text.», y un bloque sin cerrar termina con el nombre del bloque, como «Unclosed message block: User». Leer por patrones implica además que no hay validación de nivel protoc: un número de campo repetido, la etiqueta 0 y una etiqueta del rango reservado 19000–19999 se listan sin objeción.
La salida enumera todo lo que encuentra, así que crece con el archivo: 305 KB con 600 mensajes dieron 12.200 filas en torno a un tercio de segundo, y 1,5 MB con 3.000 mensajes y 60.200 filas terminaron en menos de dos segundos en Chrome. Una fila de enumeración muestra sus primeros 12 valores y luego puntos suspensivos, mientras el resumen los imprime todos.