目次
仕事で C/C++ のコードを書くことが多いです。
しかし、特にコーディングスタイルが決まっているわけではないです。自分のところだけはきれいに整えようということで、Google Style Guide
を Emacs に導入しました。
Google は C++ Style Guide を公開してます。それに準拠した Emacs のパッケージgoogle-c-style
も公開しています。
ドキュメントに書いてある一番単純な設定はこちら。
(package-install 'google-c-style)
(require 'google-c-style)
(add-hook 'c-mode-hook 'google-set-c-style)
(add-hook 'c++-mode-hook 'google-set-c-style)
しかし、気に入らないところが2点あったので、少しカスタマイズしました。
google-c-style
はcc-mode
の設定をGoogle Style Guide
に合わせているのパッケージなので、cc-mode
の設定で上書きが可能です。
僕は以下の設定を加えました。
- Tab をハードタブで4つ
- switch case のインデントなし
それらの設定を関数にまとめて、hook 時にコールするようにしています。C/C++ 両方で適用させたいのでこの形にしました。
すべての設定はこちら。例のごとくパッケージマネージャはデフォルトのpackage
を使っています。
(package-install 'google-c-style)
(require 'google-c-style)
(defun cc-mode-init ()
(google-set-c-style)
(setq indent-tabs-mode t)
(setq c-basic-offset 4)
(c-set-offset 'case-label 0)
)
(add-hook 'c-mode-hook 'cc-mode-init)
(add-hook 'c++-mode-hook 'cc-mode-init)
Google Style Guide
ではなくてもいいですが、何かのコーディングスタイルをベースにカスタマイズするのが楽でいいですね。
cc-mode の公式ドキュメントはこちらです。日本語の情報だとこちらがわかりやすいです。
今度はフォーマッタも導入したい。clang-format
とかかなぁ。-> 追記 導入した