個人的にソースコードは見やすく書きたいタイプの人間なのですが、Xcodeにはフォーマット機能がありません。
調べたところ、外部のコード整形プログラムUncrustifyを使用して、それをXcodeから呼び出す形で実現できるようなので、フォーマットできるようになるまでの備忘録として書いておきます。
Uncrustifyのインストール
githubにソースコードが上がっていたのでそれをダウンロード、configure、make、installします。
$ cd ~/Desktop/bengardner-uncrustify-20b21c2/ $ ./configure $ make $ sudo make install
成功すると /usr/local/bin/uncrustify にインストールされます。
また、ビルドしたuncrustifyディレクトリのtests/configには、サンプルで設定ファイルがあります。この中のobj-c.cfgという設定ファイルを使ってもいいのですが、今回参考にさせて頂いたサイトのdrikinさんが設定ファイルを公開されていたので、そちらをとりあえずそのまま使用させてい頂きました。
設定ファイルを/usr/local/share/uncrustify/にコピーします。
$ sudo cp ~/Desktop/obj-c_dk.cfg /usr/local/share/uncrustify/
Xcodeのスクリプトに登録する
Xcodeからユーザースクリプトを登録します。
入力を文書全体、出力を書類の内容を置き換える、ショートカットをShift+Ctrl+i、スクリプトを以下のものを登録しました。
#!/bin/sh
echo -n “%%%{PBXSelection}%%%”
/usr/local/bin/uncrustify -q -l oc+ -c /usr/local/share/uncrustify/obj-c_dk.cfg <&0
echo -n "%%%{PBXSelection}%%%"
[/bash]
これで、フォーマットできるようになりました。
ビルドする際に自動でフォーマットもできるようなので、その場合はCode beautifier and formatter with Xcodeを参考に。
設定ファイルについてはこちらが参考になります。