最高のC ++コードフォーマッタ/ビューティファイア


127

ソースコードのフォーマットツールはたくさんあります。C ++に最適なものはどれですか。

コマンドラインツールや、コードのチェックイン/チェックアウト時に自動的に実行できる、できればエディターやIDEを起動する必要のないものに興味があります。

(もしあなたが気に入ったものをすでに回答としてリストしているなら、投票してください。もしなければ、追加してください。)

回答:


120

AStyleは、C ++やJava(およびその他)向けに細かくカスタマイズできます。

これはソースコードフォーマットツールです。


clang-formatは、clangコンパイラーにバンドルされている強力なコマンドラインツールであり、最も不明瞭な言語構成要素も一貫した方法で処理します。

Visual Studio、Emacs、Vim(およびその他)と統合でき、選択した行だけをフォーマットできます(またはgit / svnを使用して、一部の差分をフォーマットできます)。

ここにリストされているさまざまなオプションで構成できます

構成ファイル(名前付き .clang-format)スタイルはディレクトリごとにすることができます-親ディレクトリで最も近いファイルが特定のファイルに使用されます。

スタイルはプリセット(LLVMやGoogleなど)から継承でき、後でさまざまなオプションをオーバーライドできます

それはグーグルと他の人々によって使われ、生産準備ができています。


プロジェクトUniversalIndentGUIも見てください。AStyle、Uncrustify、GreatCodeなどを使用して、いくつかの圧子を試して、最適なものを選択できます。これらはいずれも、後でコマンドラインから実行できます。


Uncrustifyには、多くの構成可能なオプションがあります。おそらく、それを構成するために、Universal Indent GUI(Konstantinの返信にある)も必要になるでしょう。


1
複雑なマクロでいっぱいの厄介なソースファイルがいくつかあるため、コードの変更方法やブレークポイントの設定方法がわかりにくくなっています。gcc -Eを使用してマクロをデマクロし、ifステートメントなどのネストされたforループの行が非常に長くなった。Astyleは私のソフトウェアツールシェルフに常設されています!
DarenW

8
Vimのヒント:現在編集中のファイルのコードを美化したい場合は、%!astyle
tonylo

これは素晴らしいツールです。Windows(作業中)のMSVStudioとLinux(自宅)のemacsの両方で同じプロジェクトに取り組む必要があるたびに、私はastyleを実行します。私はemacsとastyle(MSVCエディターで使用するスタイルに近い)でBSDスタイルを使用しており、常に適切にインデントされたソースコードを使用しています。タブサイズとは関係なく綺麗に見えます!
アレクサンドルC.

1
それを試してみました。迅速な結果を得るのは非常に簡単です(ドキュメントが良いです)。それはあまり多くのオプションがありませんが残念です!一部のプログラマーは、コードにスペースを埋め込む方法に非常に創造的であり、AStyleはそのすべての創造性を処理しません。
フューリー

最大線幅オプションはありません。これは必需品です。
ソガルタール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.