Formatar código C#

Cole o código C# e copie o mesmo programa com indentação limpa, uma instrução por linha e o estilo de chaves escolhido: strings e diretivas # não mudam.

Funciona localmente no seu navegador
Copiar

Como formatar código C# no navegador

Cole o código C# e a ferramenta devolve o mesmo programa com indentação consistente, uma instrução por linha, o estilo de chaves escolhido e quebra de linha opcional. Somente os espaços em branco são reescritos: literais de string, strings textuais e interpoladas, comentários e diretivas # voltam exatamente como estavam escritos, então o resultado é o mesmo programa C#, apenas mais fácil de ler.

Tudo roda nesta aba do navegador e o código não é enviado a lugar nenhum. O formatador não compila, não valida e não corrige a sintaxe: um arquivo quebrado continua quebrado, só a disposição do texto muda.

  1. Cole o código C# na caixa e clique em Formatar código C#, ou use Ctrl/⌘+Enter. Cada execução substitui o resultado anterior.
  2. Escolha a indentação (tabulação ou 2, 3, 4 ou 8 espaços), quantas linhas em branco manter, o estilo das chaves e se as linhas longas devem quebrar em 80 ou 120 caracteres.
  3. Clique em Copiar para levar o resultado ou Limpar para esvaziar os dois painéis antes do próximo trecho.
  4. A quebra de linha só acontece depois de vírgulas e a continuação é indentada um nível a mais; use Sem quebra automática para manter cada instrução em uma única linha, independentemente do tamanho.

O que o formatador altera e o que permanece intacto

O que o formatador altera

A formatação é uma reescrita de espaços em branco. A sequência de tokens da saída é idêntica à da entrada: literais de string, strings textuais como @"Ele disse ""oi""", strings interpoladas como $"total {soma}", comentários e os operadores ?., ?? e ??= permanecem intactos, e as diretivas #region, #if e #pragma continuam no início da própria linha.

As chaves seguem o estilo escolhido: Allman coloca cada chave de abertura em sua própria linha; K&R a mantém na linha da instrução, do método ou do tipo; o terceiro estilo faz o mesmo, mas inicia else, catch e finally em uma nova linha.

As opções na prática

As linhas em branco são limitadas ao valor escolhido, de removê-las por completo até manter todas — útil depois de colar código que veio com trechos vazios. Inicializadores curtos ficam compactos: { 1, 2, 3 } e new { Name = "x" } não são quebrados em várias linhas.

A quebra de linha só acontece depois de vírgulas. Quando uma chamada ou declaração passa da largura escolhida, a continuação recebe um nível a mais de indentação; com Sem quebra automática, cada instrução permanece em uma única linha.

O que ele não faz

Não compila, não valida e não faz lint. Ponto e vírgula ausente, chaves desbalanceadas e tipos não resolvidos passam como estão: não dá para usar o formatador para verificar se o arquivo compila.

O código nunca sai da aba do navegador: tudo roda localmente, então a ferramenta funciona sem conexão depois que a página carrega. Um trecho de 200 KB é processado em algumas dezenas de milissegundos.

Ferramentas recentes: