YouCompleteMeを使ってROSの補完をする
YouCompleteMeはコード補完のためのVimプラグイン。インストールなどに関してはここでは省きますが自分はこちらを参考にさせていただきました。
ROSの補完どうすんだっけなというメモのために記事書いておこうと思います。
環境
- ubuntu 18.04
- ROS Melodic
ROSの補完
.ycm_extra_conf.pyの設定
自分はここから拝借しました。
https://github.com/kgreenek/vim-ros-ycm
ここのycm_extra_conf.pyのパスをvimrcに通しておくことで読まれます。
(自分はホームの.vimフォルダ以下にconfigディレクトリ作ってそこに置いてます)
let g:ycm_global_ycm_extra_conf = '$HOME/.vim/config/.ycm_extra_conf.py'
compile_commands.jsonの用意
実際に補完させるためにcompile_commands.jsonを用意します。ROSのワークスペースを作成し、以下オプションつけてビルドします。
catkin config --install -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_BUILD_TYPE=RelWithDebInfo
catkin build
そうするとワークスペース/build/ROSパッケージ以下にcompile_commands.jsonが生成されます。これを該当のROSパッケージのディレクトリに置きます(自分はシンボリックリンクを貼ってますがこれ毎回やんないといけないのかな…)。
これでおそらく補完ができるようになると思います。実際にROSパッケージのディレクトリを開いてvimでコードを開いてみます。