formatador de código-fonte / indenter

12

Estou usando o Ubuntu 12.04. Eu não tenho privilégios de root ou sudo, pois é uma máquina da empresa.

Existe, em uma instalação normal do Ubuntu 12.04, qualquer programa de terminal que eu possa usar para transformar um código-fonte feio e malformado que não tenha qualquer indentação em um código bonito?

Mais uma vez, não consigo instalar nenhum pacote, por isso preciso de um que já venha com o Ubuntu, se existir algo assim.

Por exemplo:

    int main()
    {
test(1);
another_function(1);
}

Em seguida, converta-o para:

int main()
{
    test(1);
    another_function(1);
}
    
por user9993 16.04.2014 / 12:54

6 respostas

10

Se você tiver o editor vim instalado, abra o arquivo com vim file.c e digite =G para recuar o arquivo do início ao fim. Em seguida, salve-o com :wq .

Em instalações padrão, vi (não vim ) está instalado, portanto, não terá o pacote ident exigido (como mencionado por karel).

    
por Lekensteyn 16.04.2014 / 13:06
3

clang-format é seu amigo! É fácil de usar e útil.
Aqui estão algumas informações sobre isso.

Uso

$ clang-format file > formattedfile

Ou:

$ clang-format -i file


Guia passo a passo

1. Código horrivelmente formatado

#include <iostream>
  using namespace std;
    int main() {
         cout << "Oh";
      cout << "clang format rulez!";       
             }

main.cc

2. Comando Mágico

$ clang-format -i main.cc


3. Código bem formatado

#include <iostream>
using namespace std;
int main() {
  cout << "Oh";
  cout << "clang format rulez!";
}

main.cc

4. Felicidade

Instalando

Se você gosta, você pode instalá-lo com

$ sudo apt-get install clang-format
comando

.

    
por mraron 16.04.2014 / 19:39
2

Por padrão nano deve ser instalado no Ubuntu.

Você pode usar nano -i file para editar com o recuo automático ativado.

Isso pode não alterar as linhas existentes, pois você pode precisar recuar manualmente.

Veja: link

    
por Avinash R 16.04.2014 / 17:30
2

Abra o terminal e execute:

sudo apt-get install indent
indent -linux -l120 -i4 -nut unformatted-source-code.cpp

... onde unformatted-source-code.cpp é o arquivo que possui código-fonte C ++ não formatado, como o código em seu exemplo.

Ou, se você não puder instalá-lo, poderá fazer o download do pacote com apt-get download indent e extraí-lo: dpkg-deb -x indent*.deb fs/ , o binário de indentação está localizado em fs/usr/bin/ , onde fs é qualquer diretório em seu diretório inicial. Se você copiar o arquivo unformatted-source-code.cpp para o mesmo local, fs/usr/bin/ , os comandos para recuar o código do terminal são:

cd path/to/fs/usr/bin/  # change directories to the location of "indent" executable
./indent -linux -l120 -i4 -nut unformatted-source-code.cpp

Esses comandos podem ser executados como usuário normal. Não é necessário ser root.

    
por karel 16.04.2014 / 13:02
0

astilo e o recuo

# Something like -
./configure --prefix=$HOME/tools
make
make install
PATH=$PATH:$HOME/tools/bin
    
por Elliott Frisch 16.04.2014 / 20:10
0

emacs:

  • abra o arquivo c

  • selecione todos

  • recuo (tecla tab)

  • salve o arquivo

HTH

    
por Adam 01.05.2014 / 20:09

Tags