Melhor Embelezador / Modelador de Código C ++

127

Existem muitas ferramentas de formatação de código fonte por aí. Quais funcionam melhor para C ++?

Estou interessado em ferramentas de linha de comando ou outras coisas que podem ser executadas automaticamente ao fazer a entrada / saída de código, de preferência sem a necessidade de iniciar um editor ou IDE.

(Se você vir o que você gosta já está listado como resposta, vote nele. Se não estiver lá, adicione-o.)

Kristopher Johnson
fonte

Respostas:

120

O AStyle pode ser personalizado em grandes detalhes para C ++ e Java (e outros também)

Esta é uma ferramenta de formatação de código fonte.


O formato clang é uma poderosa ferramenta de linha de comando incluída no compilador clang, que lida de maneira coerente até com as construções de linguagem mais obscuras.

Ele pode ser integrado ao Visual Studio, Emacs, Vim (e outros) e pode formatar apenas as linhas selecionadas (ou com o git / svn para formatar algumas diferenças).

Pode ser configurado com uma variedade de opções listadas aqui .

Ao usar arquivos de configuração (nomeados .clang-format), os estilos podem ser por diretório - o arquivo mais próximo nos diretórios pai deve ser usado para um arquivo específico.

Os estilos podem ser herdados de uma predefinição (por exemplo, LLVM ou Google) e, posteriormente, substituir opções diferentes

É usado pelo Google e outros e está pronto para produção.


Veja também o projeto UniversalIndentGUI . Você pode experimentar vários indentadores usando: AStyle, Uncrustify, GreatCode, ... e selecione o melhor para você. Qualquer um deles pode ser executado posteriormente a partir de uma linha de comando.


O Uncrustify tem muitas opções configuráveis. Você provavelmente precisará da GUI Universal Indent (na resposta do Konstantin) para configurá-la.

Bill the Lizard
fonte
1
Temos alguns arquivos de origem confusos, cheios de macros complicadas, dificultando a compreensão de como modificar o código ou definir pontos de interrupção. Desmarcamo-lo com gcc -E, resultando em longas filas aninhadas para loops, instruções if etc. Astyle corrigiu isso para ser legível, poupando muitos problemas. Astyle tem um lugar permanente na minha prateleira de ferramentas de software!
darenw
8
Dica do Vim: se você deseja embelezar o código em um arquivo, use a edição atual:%! Astyle
tonylo
Essa é uma ótima ferramenta. Eu corro o estilo toda vez que tenho que trabalhar no mesmo projeto com o MSVStudio no Windows (no trabalho) e o emacs no Linux (em casa). Eu uso o estilo BSD com emacs e astyle (que é semelhante ao estilo que uso com o editor MSVC) e sempre tenho o código-fonte recuado corretamente. Até parece bonito, independentemente do tamanho da guia!
Alexandre C.
1
Tentei. É muito fácil obter um resultado rápido (o documento é bom). É uma pena que não existem tantas opções! Alguns programadores são muito criativos com o modo como preenchem seu código com espaços e o AStyle não lida com toda essa criatividade.
Fury
Não há opção de largura máxima da linha. Este deve ser um must-have.
Sogartar