Editor/emacs/clang-format
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
開始行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#eeefac0c]
#contents();
/////////////////////////////////////////////////////////...
* clang-format [#o04f0607]
//=======================================================...
** 環境構築 [#qeac0163]
+ パッケージをインストールする
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 が通ってい...
debian9 の場合は、以下にある:
$ locate clangd
/usr/bin/clangd-7 # 下記の SymLink
/usr/lib/llvm-7/bin/clangd
この場合、以下のように設定する:
;;; lsp-mode
;; https://qiita.com/false-git@github/items/3cb6ebd7f4d6...
(setq lsp-clients-clangd-executable "clangd-7")
; または
; (setq lsp-clients-clangd-executable "/usr/bin/clangd-7")
//=======================================================...
** フォーマットルールを設定する [#fbad4231]
//-------------------------------------------------------...
*** 用意されたフォーマットルールを利用する [#t4ca6625]
;;; ~/.emacs/init.el
;;; format-style
(setq clang-format-style-option "llvm") ; llvm スタイル...
//-------------------------------------------------------...
*** 個別に設定を行う [#xe3b81ee]
- .clang-format (→[[Prog/formatter/clang-format]]) にル...
-- .clang-format は再帰的に上位ディレクトリを探しに行くよ...
- .clang-format は、規定の書式から dump して作成すること...
-- google スタイルのフォーマットルールを .clang-format に...
$ clang-format -style=google -dump-config > .clang-format
-- 出力された .clang-format に手を加えて、独自のフォーマ...
//=======================================================...
** clangd にオプションを認識させる [#pa8a1963]
- compiledb を使う
- インストール
$ pip3 install compiledb
- パスを通す
-- compiledb は ~/.local/bin にインストールされる。
${HOME}/.local/bin
- compiledb に json を吐かせる
$ compiledb make
//=======================================================...
** 参考 URI [#sb5f0ebe]
- [[EmacsでC/C++用にclangdとclang-formatを使う - Qiita>ht...
- [[clang-format を導入してカスタマイズした :: プログラマ...
- [[ClangFormat — Clang 11 documentation>https://clang.ll...
- [[GNU Emacs Lisp Package Archive>https://elpa.gnu.org/]]
- [[Smarter clang-format In Emacs>https://eklitzke.org/sm...
/////////////////////////////////////////////////////////...
* clang-format-plus [#e58e4cc6]
- clang-format の機能拡張版
- clang-format に依存する
|~package name |~package repository URI ...
|clang-format+ |https://github.com/SavchenkoValeriy/emacs...
終了行:
#topicpath
/////////////////////////////////////////////////////////...
* 目次 [#eeefac0c]
#contents();
/////////////////////////////////////////////////////////...
* clang-format [#o04f0607]
//=======================================================...
** 環境構築 [#qeac0163]
+ パッケージをインストールする
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 が通ってい...
debian9 の場合は、以下にある:
$ locate clangd
/usr/bin/clangd-7 # 下記の SymLink
/usr/lib/llvm-7/bin/clangd
この場合、以下のように設定する:
;;; lsp-mode
;; https://qiita.com/false-git@github/items/3cb6ebd7f4d6...
(setq lsp-clients-clangd-executable "clangd-7")
; または
; (setq lsp-clients-clangd-executable "/usr/bin/clangd-7")
//=======================================================...
** フォーマットルールを設定する [#fbad4231]
//-------------------------------------------------------...
*** 用意されたフォーマットルールを利用する [#t4ca6625]
;;; ~/.emacs/init.el
;;; format-style
(setq clang-format-style-option "llvm") ; llvm スタイル...
//-------------------------------------------------------...
*** 個別に設定を行う [#xe3b81ee]
- .clang-format (→[[Prog/formatter/clang-format]]) にル...
-- .clang-format は再帰的に上位ディレクトリを探しに行くよ...
- .clang-format は、規定の書式から dump して作成すること...
-- google スタイルのフォーマットルールを .clang-format に...
$ clang-format -style=google -dump-config > .clang-format
-- 出力された .clang-format に手を加えて、独自のフォーマ...
//=======================================================...
** clangd にオプションを認識させる [#pa8a1963]
- compiledb を使う
- インストール
$ pip3 install compiledb
- パスを通す
-- compiledb は ~/.local/bin にインストールされる。
${HOME}/.local/bin
- compiledb に json を吐かせる
$ compiledb make
//=======================================================...
** 参考 URI [#sb5f0ebe]
- [[EmacsでC/C++用にclangdとclang-formatを使う - Qiita>ht...
- [[clang-format を導入してカスタマイズした :: プログラマ...
- [[ClangFormat — Clang 11 documentation>https://clang.ll...
- [[GNU Emacs Lisp Package Archive>https://elpa.gnu.org/]]
- [[Smarter clang-format In Emacs>https://eklitzke.org/sm...
/////////////////////////////////////////////////////////...
* clang-format-plus [#e58e4cc6]
- clang-format の機能拡張版
- clang-format に依存する
|~package name |~package repository URI ...
|clang-format+ |https://github.com/SavchenkoValeriy/emacs...
ページ名: