Pemformat / Kecantikan Kode C ++ Terbaik


127

Ada banyak alat pemformatan kode sumber di luar sana. Mana yang paling cocok untuk C ++?

Saya tertarik pada alat baris perintah atau hal-hal lain yang dapat secara otomatis dijalankan ketika memeriksa kode masuk / keluar, lebih disukai tanpa perlu meluncurkan editor atau IDE.

(Jika Anda melihat yang Anda sukai sudah terdaftar sebagai jawaban, pilih itu. Jika tidak ada, tambahkan.)

Jawaban:


120

AStyle dapat dikustomisasi dengan sangat rinci untuk C ++ dan Java (dan lainnya juga)

Ini adalah alat pemformatan kode sumber.


clang-format adalah alat baris perintah yang kuat dibundel dengan kompiler dentang yang menangani bahkan konstruksi bahasa yang paling tidak jelas dalam cara yang koheren.

Ia dapat diintegrasikan dengan Visual Studio, Emacs, Vim (dan lainnya) dan dapat memformat hanya garis yang dipilih (atau dengan git / svn untuk memformat beberapa perbedaan).

Ini dapat dikonfigurasi dengan berbagai opsi yang tercantum di sini .

Ketika menggunakan file config (bernama .clang-format) style dapat per direktori - file yang terdekat di direktori induk harus digunakan untuk file tertentu.

Gaya dapat diwarisi dari preset (katakanlah LLVM atau Google) dan nantinya dapat menggantikan opsi yang berbeda

Ini digunakan oleh Google dan orang lain dan siap produksi.


Lihat juga proyek UniversalIndentGUI . Anda dapat bereksperimen dengan beberapa indenters menggunakannya: AStyle, Uncrustify, GreatCode, ... dan pilih yang terbaik untuk Anda. Semua dari mereka dapat dijalankan kemudian dari baris perintah.


Uncrustify memiliki banyak opsi yang dapat dikonfigurasi. Anda mungkin perlu Universal Indent GUI (dalam balasan Konstantin) juga untuk mengkonfigurasinya.


1
Kami memiliki beberapa file sumber berantakan penuh dengan makro yang rumit, membuatnya sulit untuk memahami bagaimana memodifikasi kode atau mengatur breakpoints. Kami mende-makro-kannya dengan gcc -E, menghasilkan garis-garis yang sangat panjang untuk loop, jika pernyataan dll. Astyle memperbaikinya agar dapat dibaca, menyelamatkan kami dari banyak masalah. Astyle memiliki tempat permanen di rak perangkat lunak saya!
DarenW

8
Vim tip: jika Anda ingin mempercantik kode dalam file yang sedang diedit, gunakan:%! Astyle
tonylo

Ini adalah alat yang hebat. Saya menjalankan astyle setiap kali saya harus mengerjakan proyek yang sama dengan MSVStudio di windows (di tempat kerja) dan emacs di linux (di rumah). Saya menggunakan gaya BSD dengan emacs dan astyle (yang dekat dengan gaya yang saya gunakan dengan editor MSVC), dan saya selalu memiliki indentasi kode sumber yang benar. Bahkan terlihat cantik secara independen dari ukuran tab!
Alexandre C.

1
Sudah mencobanya. Sangat mudah untuk mendapatkan hasil yang cepat (dokumen bagus). Sayang sekali tidak ada begitu banyak pilihan! Beberapa programmer sangat kreatif dengan cara mereka mengisi kode mereka dengan spasi, dan AStyle tidak menangani semua kreativitas itu.
Fury

Tidak ada opsi lebar garis maksimum. Ini harus menjadi yang harus dimiliki.
Sogartar
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.