Formatador / indentador do código fonte


17

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

Existe, em uma instalação normal do Ubuntu 12.04, algum programa de terminal que eu possa usar para transformar código fonte malformado e feio que não possui recuo em código de boa aparência?

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

Por exemplo:

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

E depois converta-o para:

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

O que você usa para ver ou editar o código? Presumivelmente, você deseja que seja recuado em seu editor, certo? Ou você deseja fazer isso na linha de comando para vários arquivos?
terdon

Você quer dizer como uma ferramenta online?
Braiam)

1
Gedit vai recuar IIRC, e Kate vai destacar e travessão baseado em filetype se você tem a capacidade de mudar para KDE
eyoung100

Respostas:


12

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

Nas instalações padrão, vi(not vim) é instalado, portanto, não terá o identpacote necessário (conforme mencionado por karel).


9

O formato clang é 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.

Instalação feliz

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

$ sudo apt-get install clang-format

comando.


3

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 do seu exemplo.

Ou, se você não conseguir instalá-lo, poderá fazer o download do pacote apt-get download indente 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 no diretório inicial. Se você copiar o arquivo unformatted-source-code.cpp no ​​mesmo local, fs/usr/bin/os comandos para recuar o código do terminal serã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.


2
Não tenho privilégios de root ou sudo, pois é uma máquina da empresa.
user9993

5
@ user9993 Você pode baixar apt-get download indente extrair o pacote:, dpkg-deb -x indent*.deb fs/o binário de indentação está localizado em fs/usr/bin/.
Lekensteyn


1

astyle e recuo vêm à mente, mas uma instalação padrão do Ubuntu também não inclui. Obviamente, se você tiver um compilador C, poderá compilá-los e instalá-los em seu próprio PATH em algum lugar.

# Something like -
./configure --prefix=$HOME/tools
make
make install
PATH=$PATH:$HOME/tools/bin

1

emacs:

  • abrir arquivo c

  • selecionar tudo

  • recuo (tecla tab)

  • salvar Arquivo

HTH

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.