clang-formatをビルド時に自動実行する
iOS開発する時のコード整形ツールとしてclang-formatを使用している。
最初はXcodeのプラグインとしてGUI上から手動実行していたが
XCodeのバージョンをあげると動かなくなったりとかで辛かったので
途中からターミナルで手動実行に切り替えた。
最終的にはビルドの時にpre-actionsでやれば整形漏れもなくなって
いいと思って、今の形に落ち着いたので導入方法メモ。
-
clang-formatをbrewからインストール
brew tap tcr/tcr brew install clang-format
-
clang-format実行方法
clang-format -i -style=Google hogehoge.m
-
edit schemeでpre-actionsにRunScriptを作成
schemeのRunのPre-actionsを選択、新規RunScriptを作成する
SRCROOTを使用するので「Provide build settings from」から整形対象のtargetを選択する -
RunScriptにclang-formatのコマンドを記述する
find ${SRCROOT} -name *.[h,m] | xargs clang-format -i -style=Google
これで対象のtargetをRunすると、自動でビルド前にコード整形がされるようになる