Форматор / індентор вихідного коду


17

Я використовую Ubuntu 12.04. У мене немає ніяких привілеїв root або sudo, оскільки це машина компанії.

Чи є в звичайній установці Ubuntu 12.04 будь-яка термінальна програма, яку я можу використовувати, щоб перетворити некрасивий неправильно сформований вихідний код, якому не вистачає жодних відступів, у приємний вигляд коду?

Знову ж таки, я не можу встановити жодних пакетів, тому мені потрібен той, який вже поставляється з Ubuntu, якщо така річ існує.

Наприклад:

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

А потім перетворите його на:

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

Що ви використовуєте для перегляду чи редагування коду? Імовірно, ви хочете, щоб він був відступним у вашому редакторі? Або ви хочете зробити це з командного рядка для декількох файлів?
тердон

Ви маєте на увазі, як онлайн-інструмент?
Брайам

1
Gedit видасть відступ IIRC, а Kate виділить і відступ на основі файлів, якщо у вас є можливість перейти на KDE
eyoung100

Відповіді:


12

Якщо у вас встановлений редактор vim, відкрийте файл vim file.cі введіть =Gвідступ файла від початку до кінця. Потім збережіть його за допомогою :wq.

На установках за замовчуванням встановлено vi(не vim), тому він не матиме необхідного identпакету (як згадує karel).


9

Кланг-формат - ваш друг! Його простий у використанні та корисний.
Ось деякі відомості про це.

Використання

$ clang-format file > formattedfile

Або:

$ clang-format -i file


Покрокове керівництво

1. Жахливо відформатований код

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

main.cc

2. Магічна команда

$ clang-format -i main.cc


3. Добре відформатований код

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

main.cc

4.

Встановлення щастя

Якщо вам це подобається, ви можете встановити його,

$ sudo apt-get install clang-format

командування.


3

Відкрийте термінал і запустіть:

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

... де unformatted-source-code.cpp - це файл із неформатованим вихідним кодом C ++, наприклад, код у вашому прикладі.

Або якщо ви не можете встановити його, ви можете завантажити пакунок apt-get download indentі витягнути його:, dpkg-deb -x indent*.deb fs/бінарний відступ розміщений fs/usr/bin/там, де fs - будь-який каталог вашого домашнього каталогу. Якщо ви скопіюєте файл неформатованого джерела-code.cpp в те саме місце fs/usr/bin/, то командами для відступу коду з терміналу є:

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

Ці команди можна виконати як звичайний користувач. Коріння не обов’язково.


2
У мене немає жодних привілеїв root або sudo, оскільки це машина компанії.
user9993

5
@ user9993 Ви можете завантажити пакет apt-get download indentі витягнути його:, dpkg-deb -x indent*.deb fs/двійковий файл з відступом знаходиться в fs/usr/bin/.
Лекенштейн

2

За замовчуванням нано має бути встановлено в ubuntu.

Ви можете використовувати nano -i fileдля редагування з увімкненим автоматичним відступом.

Це може не змінити існуючі рядки, тому вам, можливо, доведеться вручну відступити його.

Дивіться: http://www.nano-editor.org/dist/v2.0/nano.html


1

astyle і відступ навесні, але установка Ubuntu за замовчуванням не включає жодного. Звичайно, якщо у вас є компілятор C, ви можете їх скласти і встановити десь у власному PATH.

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

1

emacs:

  • відкрити файл c

  • вибрати все

  • відступ (клавіша вкладки)

  • зберегти файл

HTH

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.