clang-format†
環境構築†
- パッケージをインストールする
apt-get install clang-tools-7 clang-format
- 設定を記載する
(require 'clang-format)
;;; key bindings
;;; 以下は clang-format の README.md の記載より転記した。
(global-set-key (kbd "C-c i") 'clang-format-region)
(global-set-key (kbd "C-c u") 'clang-format-buffer)
; (global-unset-key "\C-\M-q")
; (global-set-key (kbd "C-M q") 'clang-format-region)
- clangd を呼び出せるようにする
- clangd は、PATH が通ってない(または、PATH が通っている場所に、バージョン番号を含むファイル名で SymLink が配置されている)場合がある。
debian9 の場合は、以下にある:
$ locate clangd
/usr/bin/clangd-7 # 下記の SymLink
/usr/lib/llvm-7/bin/clangd
この場合、以下のように設定する:
;;; lsp-mode
;; https://qiita.com/false-git@github/items/3cb6ebd7f4d6f77acc54
(setq lsp-clients-clangd-executable "clangd-7")
; または
; (setq lsp-clients-clangd-executable "/usr/bin/clangd-7")
フォーマットルールを設定する†
用意されたフォーマットルールを利用する†
;;; ~/.emacs/init.el
;;; format-style
(setq clang-format-style-option "llvm") ; llvm スタイルのフォーマットルールを利用する場合
個別に設定を行う†
- .clang-format にルールを記載すると、それが読み込まれて適用される。
- .clang-format は再帰的に上位ディレクトリを探しに行くようになっているので、どんな場合でも適用したい書式が決まっている場合は、 ${HOME} 直下に .clang-format を配置すると良い。
- .clang-format は、規定の書式から dump して作成することが出来る。
clangd にオプションを認識させる†
- compiledb を使う
- インストール
$ pip3 install compiledb
- パスを通す
- compiledb は ~/.local/bin にインストールされる。
${HOME}/.local/bin
- compiledb に json を吐かせる
$ compiledb make
参考 URI†
clang-format-plus†
- clang-format の機能拡張版
- clang-format に依存する