ぼくの薄い本

技術的なメモを残していく薄い本的なものです

emacs でファイル保存時に自動で clang-format を実行する

はじめに

チームで開発してるときに、コーディングのフォーマットを整えたい時があると思います。

ここでは emacs の保存時に自動で clang-format をバッファ全体に適用する方法を紹介します。

emacs を使ってない人のために git commit 時などに適用してもいいですね。

前提

  • clang-format コマンドがインストール済み*1

インストール方法

package.el の場合

(package-install 'clang-format)

cask の場合

(depends-on 'clang-format)

設定方法

(add-hook 'c-mode-common-hook
          (function (lambda ()
                    (add-hook 'after-save-hook
                              'clang-format-buffer))))

デフォルトのフォーマッティングが気にくわない人は、以下のドキュメントを見てカスタマイズするといいでしょう。

Clang-Format Style Options — Clang 6 documentation

emacs のオススメ本

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacs実践入門 ?思考を直感的にコード化し、開発を加速する (WEB+DB PRESS plus)

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

Emacsテクニックバイブル ?作業効率をカイゼンする200の技?

*1:下記でインストールする clang-foamat.el が内部で clang-format コマンドを呼び出してるのため。