コーディングスタイルを統一するため、uncrustify を利用しています。
uncrustify の設定ファイルもリポジトリにコミットしているので、グループ内である程度コーディングスタイルが共有できます。
Xcode では BBUncrustifyPlugin-Xcode というプラグインを利用しています1。
一方、AppCode には JetBrains 製 IDE にもれなく付いてくる強力なコードフォーマッタがあります。

これを使ってもいいんですが、AppCode を利用しているのはグループ内で私一人だけなので、uncrustify をそのままメインで運用したい。
uncrustify のインストール
まずは uncrustify を利用できるようにする必要があります2。
Homebrew を使って uncrustify をインストールします。
$ brew install uncrustify
とりあえず、準備はこれだけ。
External Tools の追加
Preferences → Tools → External Tools よりツールを追加します。

ツールでは以下のように設定します。

設定 | 内容 |
---|---|
Name | Uncrustify |
Program | uncrustify |
Parameters | --replace --no-backup -c "$ProjectFileDir$/uncrustify.cfg" "$FilePath$" |
Working directory 設定は空のまま。
Open console は最初はチェックしておいた方がよいでしょう。うまく動作しない場合などそこにエラーが表示されるので、設定の確認ができます。正しく動作するようになったらチェックを外して運用します。
プロジェクトのルートディレクトリに uncrustify の設定ファイル uncrustify.cfg がある前提です。ない場合は環境に合わせて uncrustify 設定ファイルのパスを記述します。
これで AppCode から uncrustify を利用できるようになります。アクセスは Tools メニュー→ External Tools → Uncrustify です。

実行すると現在フォーカスのあるファイル対して uncrustify を適用します。
運用上の注意
uncrustify の設定に utf8_bom
という項目がありますが、これは必ず remove
にしておいてください。
Objective-C のコードファイルに BOM あると Xcode / AppCode ともにコード解析が正しく動作しません。
-
「コーディング規約を徹底するXcode + Uncrustifyでコード整形」で詳しく解説されています。 ↩
-
BBUncrustifyPlugin-Xcode には uncrustify が内蔵されているので、必要ありませんでした。 ↩