🧰 UtlKit

Como Usar o Formatador YAML: os Comentários Desaparecem, os Alias se Expandem em Cópias Completas, e 3.0 Vira 3, com os Modos Formatar e Minificar, Indentação de 2 ou 4 Espaços, e Erros com Linha e Coluna Explicados

Percorra o formatador YAML com os comportamentos exatos: comentários removidos, aliases expandidos em cópias completas, ordem das chaves mantida exceto chaves numéricas, números normalizados, estilo flow no modo minificar, e erros com linha e coluna.

YAML é o formato de configuração padrão de Docker Compose, Kubernetes, pipelines de CI/CD e Ansible, e o formatador YAML gira em torno da pergunta de tornar esses arquivos legíveis de novo. Cole qualquer documento YAML, escolha um dos dois modos e a ferramenta reemite o documento inteiro com espaçamento consistente, inteiramente dentro do seu navegador. Nada é salvo nem enviado; o analisador e o serializador rodam na sua máquina.

Cole YAML e escolha um modo

Não há reformatação ao vivo: o documento é processado só quando você aperta um botão. Formatar é o modo padrão e reconstrói o documento em estilo bloco, o esquema de uma chave por linha que a maioria dos arquivos de configuração usa. Minificar mira em outro objetivo: produzir a representação mais compacta que o analisador consegue ler. Um seletor de indentação pequeno alterna Formatar entre 2 e 4 espaços; ele aparece só no modo Formatar porque Minificar usa sempre 2.

O que Formatar faz: um documento limpo em estilo bloco

Formatar normaliza todos os níveis do documento na indentação que você escolheu. Mapeamentos e sequências aninhados se alinham em deslocamentos fixos, espaços finais desaparecem e um nível sempre equivale a um passo de indentação. Valores longos nunca quebram linha: um valor de 400 caracteres fica em uma linha só, porque em arquivos de configuração a legibilidade da estrutura importa mais que o comprimento da linha.

O que Minificar faz: estilo flow sob um topo em bloco

Minificar não amassa o documento em uma linha só, e isso surpreende. O nível superior fica em estilo bloco, mas cada valor sob uma chave superior é escrito em forma flow: uma lista de strings vira items: [a, b] e um mapeamento aninhado vira a: {b: [1, 2]}. Uma lista de mapas no nível superior vira um mapa flow por linha, começando com um traço e uma chaveta de abertura. Valores que poderiam ser mal lidos em flow, como uma chave chamada y, ganham aspas para manter o sentido exato.

O que o formatador descarta e reescreve

Três coisas valem saber antes de comparar a saída. Comentários são descartados: o analisador transforma primeiro o documento em uma estrutura de dados e os comentários não sobrevivem a essa etapa. Âncoras e aliases são entendidos durante a análise, mas o serializador é configurado para não emitir referências, de modo que cada alias volta como uma cópia completa do valor ao qual aponta. Números também são normalizados: 3.0 vira 3, 1e5 vira 100000, 0x10 vira 16, e valores vazios, til e null saem como null, enquanto uma string vazia continua sendo string vazia, com aspas.

Ordem das chaves: mantida, com uma exceção

O formatador não ordena suas chaves. Chaves de string mantêm exatamente a ordem que tinham no seu documento, então um arquivo que lista zebra, ant e m volta nessa mesma ordem. Há uma exceção que pode parecer ordenação: uma chave que parece um inteiro, por exemplo 123, vai para o início do mapeamento. Não é o formatador escolhendo uma ordem; é a forma como o objeto de JavaScript que guarda o documento analisado lista suas propriedades, e chaves numéricas vêm sempre primeiro.

Mensagens de erro com linha e coluna

Um YAML inválido não produz uma falha vaga. O analisador informa o problema com número de linha e de coluna, ambos começando em 1, para você saltar direto ao ponto quebrado. Chaves duplicadas são rejeitadas do mesmo jeito, o que ajuda quando um bloco copiado se infiltra duas vezes. Um caso é diferente: um segundo marcador de documento na entrada também é erro, mas aquela mensagem não tem posição, porque o analisador para no nível do fluxo. Colar nada mostra uma mensagem dedicada.

Trocar, limpar e para onde ir a seguir

Dois controles pequenos fecham o fluxo. O botão Trocar aparece quando há saída e a copia de volta para a entrada, limpando a saída, o que acelera a correção iterativa: formatar, notar um valor para refazer, trocar, editar, formatar de novo. Limpar esvazia os dois lados e a linha de erro. Nada da página é salvo, então conteúdo de configuração sensível nunca sai do seu navegador. Se seus dados nascem como JSON, rode antes o Formatador JSON ou vá direto ao Conversor JSON/YAML. Configurações XML recebem o mesmo trato no Formatador XML, e para arquivos de marcação o guia do formatador HTML cobre o mesmo padrão de formatação e minificação com blocos de script protegidos.

Ferramentas Relacionadas

Perguntas Frequentes

Os comentários YAML são preservados ao formatar?

Não. O formatador analisa primeiro o documento em uma estrutura de dados, e os comentários não fazem parte dessa estrutura, então desaparecem tanto na saída de Formatar quanto na de Minificar. Se os comentários devem sobreviver, mantenha-os no seu editor ou no seu controle de versão, não na cópia formatada.

Por que minhas âncoras e aliases sumiram?

O analisador entende âncoras e aliases, mas o serializador é configurado para não emitir referências: cada alias volta como uma cópia completa do valor ao qual aponta, e nenhum nome de âncora aparece no resultado. O conteúdo duplicado é o preço de um documento autossuficiente.

Minificar coloca o documento inteiro em uma linha?

Não. O nível superior fica em estilo bloco e cada valor sob uma chave superior é escrito em uma forma flow compacta, como items: [a, b] ou a: {b: [1, 2]}. Uma lista de mapas no nível superior vira um mapa flow por linha. Linhas longas nunca quebram linha em nenhum dos dois modos.

Por que uma das minhas chaves foi para o topo?

As chaves de string mantêm a ordem original; nada é ordenado alfabeticamente. A exceção é uma chave que parece um inteiro, como 123: o documento analisado é guardado em um objeto de JavaScript, e chaves numéricas sempre são listadas antes das demais, então essa chave pula para o início.

Como são as mensagens de erro?

Um problema de sintaxe produz uma mensagem de erro com número de linha e de coluna, ambos começando em 1, para você saltar direto ao ponto quebrado. Chaves duplicadas são rejeitadas do mesmo jeito. Um segundo marcador de documento na entrada também é um erro, mas aquela mensagem não tem posição porque o analisador para no nível do fluxo, e colar nada mostra uma mensagem dedicada de entrada vazia.

Artigos Relacionados