LoginSignup
8
6

More than 5 years have passed since last update.

AlcatrazでXcodeにClangFormatを入れてコードを整形する

Last updated at Posted at 2016-09-02

Xcodeでコードを整形して読みやすくしたい。

やること

  1. XcodeにAlcatrazをいれる
  2. AlcatrazからClangFormatをいれる
  3. 整形する
  4. 設定ファイルを書いてカスタマイズする
  5. おまけ

XcodeにAlcatrazをいれる

まずはXcode用のパッケージマネージャーであるAlcatrazをいれる。
Xcode7以上じゃないとダメなので注意。
公式にあるコマンドを叩けばおk。

Install
curl -fsSL https://raw.githubusercontent.com/supermarin/Alcatraz/deploy/Scripts/install.sh | sh

Xcodeを再起動して、メニューバーのWindowにPackage Managerが追加されていればおk。

Kobito.bg1Zzm.png

AlcatrazからClangFormatをいれる

次に、AlcatrazからClangFormatをいれる。
オプションでフォーマット時のルールを設定することができる。
日本語のサイトもあるので助かる。

XcodeのメニューバーのWindow -> Package Managerを押してAlcatrazを起動させる。
上部の検索ボックスに「clang」とかいれるとひっかかるので、INSTALLを押す。

Kobito.V2BWCT.png

再度Xcodeを再起動して、メニューバーのEditにClang Formatが追加されていればおk。

Kobito.Qyq8nM.png

整形する

適当なプロジェクトを用意して、

Kobito.TbV31Q.png

適当にコードを書き、

Kobito.jGS8dW.png

メニューバーのEdit -> Clang Format -> Format Selected Filesを押すと、

Kobito.g3aNKW.png

整形される。

Kobito.oO6Wop.png

整形??????????????????

設定ファイルを書く

デフォルトで整形のフォーマットがいくつか用意されているが、どれもしっくりこないので自分で設定を書く。
プロジェクトファイルの親以上のディレクトリに.clang-formatという設定ファイルを置き、どういうふうに整形するかを記述していく。

今回はとりあえずシンプルに、変数宣言のインデントを揃える設定を書く。

.clang-format
# 連続する行の代入演算子を揃える
AlignConsecutiveAssignments: true

# 連続する行の宣言を揃える
AlignConsecutiveDeclarations: true

# * や & の位置
PointerAlignment: Left

設定の詳細はClang-Format Style Options — Clang 4.0 documentationか、日本語でみたい場合はこちらで確認できる。

次に、整形時に.clang-formatの設定を使用するようにする。
ニューバーのEdit -> Clang Format -> Fileを押すだけ。

Kobito.17KA6w.png

するとFileにチェックがはいるので、この状態でもう一度整形をしてみる。

Kobito.QvdbcV.png

すると、

Kobito.SPZvDu.png

ちょっとよさげになった。(気がする)
この辺りは個人の好みだったりするので、追求しないことにする。
とりあえずカスタマイズできるようになったのでおk。

おまけ

毎回メニューバーから操作するのはめんどうなので、ショートカットを登録する。

システム環境設定 -> キーボード -> ショートカット -> アプリケーションを選択した状態で、+ボタンを押す。

Kobito.xfJunY.png

アプリケーションはXcode.appを選択。
メニュータイトルはFormat Selected Filesを入力。
キーボードショートカットにフォーカスした状態で、割り当てたいショートカットキーを押す。
(今回はshift + command + eに割り当てた)

Kobito.eqOSZ1.png

最後に追加ボタンを押すと↓に追加される。

Kobito.1WwwaT.png

これで、Xcodeでshift + command + eを押すだけでファイルを整形できるようになる。

というね。

8
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
6