Pemformat / indentor kode sumber


17

Saya menggunakan Ubuntu 12.04. Saya tidak memiliki hak akses root atau sudo karena ini adalah mesin perusahaan.

Apakah di sana, dalam instalasi normal Ubuntu 12.04, program terminal apa saja yang dapat saya gunakan untuk mengubah kode sumber yang jelek dan tidak memiliki lekukan menjadi kode yang terlihat bagus?

Sekali lagi, saya tidak bisa menginstal paket apa pun jadi saya perlu yang sudah disertakan dengan Ubuntu, jika ada.

Sebagai contoh:

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

Dan kemudian mengubahnya menjadi:

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

Apa yang Anda gunakan untuk melihat atau mengedit kode? Mungkin Anda ingin itu dimasukkan ke dalam editor Anda, bukan? Atau Anda ingin melakukan ini dari baris perintah untuk beberapa file?
terdon

Maksud Anda seperti alat online?
Braiam

1
Gedit akan indentasi IIRC, dan kate akan menyorot dan indentasi berdasarkan tipe file jika Anda memiliki kemampuan untuk beralih ke KDE
eyoung100

Jawaban:


12

Jika Anda menginstal editor vim, buka file dengan vim file.cdan ketik =Guntuk indentasi file dari awal hingga akhir. Lalu simpan dengan :wq.

Pada instalasi default, vi(tidak vim) diinstal, sehingga tidak akan memiliki identpaket yang diperlukan (seperti yang disebutkan oleh karel).


9

dentang-format adalah teman Anda! Mudah digunakan dan bermanfaat.
Berikut ini beberapa informasi tentangnya.

Pemakaian

$ clang-format file > formattedfile

Atau:

$ clang-format -i file


Panduan langkah demi langkah

1. Kode yang diformat secara mengerikan

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

main.cc

2. Perintah ajaib

$ clang-format -i main.cc


3. Kode yang diformat dengan baik

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

main.cc

4.

Instalasi Kebahagiaan

Jika Anda menyukainya, Anda dapat menginstalnya dengan,

$ sudo apt-get install clang-format

perintah.


3

Buka terminal dan jalankan:

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

... di mana unformatted-source-code.cpp adalah file yang memiliki kode sumber C ++ yang tidak diformat, seperti kode pada contoh Anda.

Atau jika Anda tidak dapat menginstalnya, Anda dapat mengunduh paket dengan apt-get download indentdan mengekstraknya dpkg-deb -x indent*.deb fs/:, indent binary terletak di fs/usr/bin/mana fs adalah direktori di direktori home Anda. Jika Anda menyalin file source-code.cpp yang belum diformat ke tempat yang sama fs/usr/bin/, maka perintah untuk membuat indentasi kode dari terminal adalah:

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

Perintah-perintah ini dapat dijalankan sebagai pengguna biasa. Tidak perlu menjadi root.


2
Saya tidak memiliki hak akses root atau sudo karena ini adalah mesin perusahaan.
user9993

5
@ user9993 Anda dapat mengunduh paket dengan apt-get download indentdan mengekstraknya :, indentary dpkg-deb -x indent*.deb fs/binary berada di fs/usr/bin/.
Lekensteyn


1

astyle dan indentasi muncul di pikiran, tetapi instalasi Ubuntu default tidak menyertakan keduanya. Tentu saja, jika Anda memiliki kompiler C, Anda dapat mengkompilasinya dan menginstalnya di PATH Anda sendiri di suatu tempat.

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

1

emacs:

  • buka file c

  • Pilih Semua

  • indent (tombol tab)

  • menyimpan file

HTH

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.