nDiki

2009年8月10日 (月)

C++ソースコードフォーマッタ Uncrustify

私が Perl が好きな理由の一つとして perltidy が存在しているという点がある。 perltidyソースコード整形は柔軟にカスタマイズができて、自分の好みの整形設定を作っておける。 このツールおかげで後で整形できるので、荒々しくコードを書いてガンガンリファクタリングしていくことできる。

久しぶりに C++開発をするにあたって、C++ の同様のツールを探してみた。 perltidy のように長い式の折り返しを適切に調整してくれる整形ツールはあまり見つからない。いくつか試したところ Uncrustify にたどりついた。

設定

 uncrustify -c /dev/null --update-config-with-doc -o ~/.uncrustify.cfg

するとデフォルトの設定が書き込まれた設定ファイルができる。 これを好みの設定に書き換えていく。

ソースコード整形する

 uncrustify source.cpp

とすると整形されたソースコードが source.cpp.uncrustify に出力される。

 uncrustify --replace source.cpp

とすると source.cpp 自体を整形されたソースコードで置き換えてくれる。

Emacs からの呼び出し

perltidy の時の設定(記事)で OK。 shell-command-on-region では

  uncrustify -l CPP -q

を実行するようにする。Uncrustify は標準入力からソースコードを渡す際にはどのプログラミング言語が指定してあげる必要がある。

好みの設定は現在模索中。 長い式の中の、引数なしの関数呼び出しの開き括弧と閉じ括弧の間で折り返されることがあってそれが気持ち悪いのだが、それ以外は好みの設定になりつつある。 もうちょっと設定いじってみて確定するつもり。

スポンサード リンク
[ 8月10日全て ]

About Me

Naney Naney (なにい)です。株式会社ミクシィで SNS 事業の部長をしています。

nDiki1999年1月に始めたコンピュータ日誌を前身とする NaneyWeb 日記(兼パーソナルナレッジベース)です。ちょっとしたノートは nNote にあります。

※内容は個人的見解であり所属組織とは関係ありません。

月別インデックス
Process Time: 0.14706s / load averages: 0.86, 0.70, 0.65
nDiki by WATANABE Yoshimasa (Naney)
Powered by DiKicker