目次
- 目次
- はじめに
- C++コードフォーマッタ clang-format
- C/C++のコード補完(vim-clang)
- Doxygenスタイルの関数コメントの自動挿入
- 参考資料
- MyEnigma Supporters
はじめに
先日、
PythonとMarkdownのおすすめvim設定&プラグインを紹介したので、
最後にC++プログラムを開発する際に便利な
vim設定とプラグインを紹介したいと思います。
C++コードフォーマッタ clang-format
clang-formatはC, C++, Objective-C の
コードフォーマットツールです。
clangというAppleやGoogleが開発している
コンパイラの一部であり、
clang-formatもその一つとして開発されています。
このツールを利用することにより、
簡単にC++のコードをフォーマットすることができます。
ubuntuでのインストール
apt-getを使ってバージョンを指定してインストールできます。
apt-get clang-format-3.6
Macでのインストール
Homebrewを使っている場合は、
下記のコマンドでOKです。
brew install clang-format
コマンドラインからclang-formatを使う
コマンドラインからclang-formatを下記のように使うことで、
C,C++,Object-Cのコードをフォーマットすることができます。
clang-format -style={style} [-i] {file}
-iはフォーマットしたファイルを
フォーマット後のコードで置き換えるオプションです。
styleはフォーマットのスタイルを下記の中から選ぶことができます。
{style} = LLVM, Google, Chromium, Mozilla, WebKit
下記はtest.cppをGoogleのフォーマットスタイルに合わせる
サンプルコマンドです。
clang-format -style=Google -i test.cpp
vimでclang-formatを使う
上記のようにコマンドラインから
clang-formatを使っても良いですが、
やはりvimでコードを書いている時に
フォーマットしたくなります。
そこで、
clang-formatのドキュメントで紹介されている
下記のvimスクリプトを.vimrcに追記することで、
ファイル保存時に自動的にコードのフォーマットが実行されるようにしています。
function! CPPCodeCleanup() " echo "Cleanup cpp code" let l:lines="all" let g:clang_format_fallback_style = 'Google' :pyf /usr/local/share/clang/clang-format.py endfunction command! CPPCodeCleanup call CPPCodeCleanup() autocmd BufWrite *.{cpp} :CPPCodeCleanup autocmd BufWrite *.{hpp} :CPPCodeCleanup autocmd BufWrite *.{c} :CPPCodeCleanup autocmd BufWrite *.{h} :CPPCodeCleanup
下記の資料を参考にさせて頂きました。
C/C++のコード補完(vim-clang)
C/C++のコード補完をより協力にするために、
vim-clangという補完プラグインを使っています。
設定等は下記の記事を参照下さい。
Doxygenスタイルの関数コメントの自動挿入
DoxygenToolkitというプラグインを導入することで、
関数のコメントを自動で挿入することができます。
インストールはNeoBundleで一発です。
NeoBundle 'vim-scripts/DoxygenToolkit'
C/C++の関数の先頭行で
:Dox
とすると、
自動的にDoxygenスタイルのコメントを自動挿入してくれます。
引数や返り値なども自動で入力されるので非常に便利です。
参考資料
MyEnigma Supporters
もしこの記事が参考になり、
ブログをサポートしたいと思われた方は、
こちらからよろしくお願いします。