Xcodeでコードを整形して読みやすくしたい。
やること
- XcodeにAlcatrazをいれる
- AlcatrazからClangFormatをいれる
- 整形する
- 設定ファイルを書いてカスタマイズする
- おまけ
XcodeにAlcatrazをいれる
まずはXcode用のパッケージマネージャーであるAlcatrazをいれる。
Xcode7以上じゃないとダメなので注意。
公式にあるコマンドを叩けばおk。
curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/install.sh | sh
Xcodeを再起動して、メニューバーのWindowにPackage Manager
が追加されていればおk。
AlcatrazからClangFormatをいれる
次に、AlcatrazからClangFormatをいれる。
オプションでフォーマット時のルールを設定することができる。
日本語のサイトもあるので助かる。
XcodeのメニューバーのWindow -> Package Manager
を押してAlcatrazを起動させる。
上部の検索ボックスに「clang」とかいれるとひっかかるので、INSTALL
を押す。
再度Xcodeを再起動して、メニューバーのEditにClang Format
が追加されていればおk。
整形する
適当なプロジェクトを用意して、
適当にコードを書き、
メニューバーのEdit -> Clang Format -> Format Selected Files
を押すと、
整形される。
整形??????????????????
設定ファイルを書く
デフォルトで整形のフォーマットがいくつか用意されているが、どれもしっくりこないので自分で設定を書く。
プロジェクトファイルの親以上のディレクトリに.clang-format
という設定ファイルを置き、どういうふうに整形するかを記述していく。
今回はとりあえずシンプルに、変数宣言のインデントを揃える設定を書く。
# 連続する行の代入演算子を揃える
AlignConsecutiveAssignments: true
# 連続する行の宣言を揃える
AlignConsecutiveDeclarations: true
# * や & の位置
PointerAlignment: Left
設定の詳細はClang-Format Style Options — Clang 4.0 documentationか、日本語でみたい場合はこちらで確認できる。
次に、整形時に.clang-format
の設定を使用するようにする。
ニューバーのEdit -> Clang Format -> File
を押すだけ。
するとFile
にチェックがはいるので、この状態でもう一度整形をしてみる。
すると、
ちょっとよさげになった。(気がする)
この辺りは個人の好みだったりするので、追求しないことにする。
とりあえずカスタマイズできるようになったのでおk。
おまけ
毎回メニューバーから操作するのはめんどうなので、ショートカットを登録する。
システム環境設定 -> キーボード -> ショートカット -> アプリケーション
を選択した状態で、+
ボタンを押す。
アプリケーションはXcode.app
を選択。
メニュータイトルはFormat Selected Files
を入力。
キーボードショートカットにフォーカスした状態で、割り当てたいショートカットキーを押す。
(今回はshift + command + e
に割り当てた)
最後に追加
ボタンを押すと↓に追加される。
これで、Xcodeでshift + command + e
を押すだけでファイルを整形できるようになる。
というね。