C言語の補完にどうか調べるためにインストールしたいと思いました。
インストールに苦労したので、メモしときます。
YouCompleteMeのインストール
Githubのリンク:YouCompleteMe (以下、YCMと記述します)
Vimは 香り屋 さんのところからインストール
香り屋(Vim):https://www.kaoriya.net/software/vim/
vimは32bit版で試しています。
1.deinでプラグインを入れる。
1 |
call dein#add('Valloric/YouCompleteMe') |
しかし、deinだとダウンロードがタイムアウトしたので、自分でGitを使ってダウンロードして自分でプラグインのディレクトリに突っ込みます。
2.YCMのインストールにPyThonが必要だったので、PyThonをインストール
Python:https://www.python.org/
Pythonはバージョン2のほうで32bit版をインストールします。
3.YCMのインストールにCMakeが必要らしいので、インストールする。
Cmake:https://cmake.org/
4.C++でのYCMのインストールにClangが必要なので、LLVMごとインストールする。
LLVM:http://releases.llvm.org/
downloadをクリックした後に、何をダウンロードするかのページに行くが、ここではSource Code、Documentation、Pre-Built Binariesの順番で並んでいるので、Pre-Built BinariesのWindowsの32bit版をインストールします。これはもしかしたら環境によるかも?
5.LLVMをインストールした後、VimのプラグインのディレクトリにあるYouCompleteMeからthird_party/ycmd/cpp/ycm/cppにあるCMakeList.txtの25行目あたりにある行
1 |
set( PATH_TO_LLVM_ROOT "" CACHE PATH "Path to the root of a LLVM+Clang binary distribution" ) |
に、LLVMをインストールしたPathを入れます。例えば、
1 |
set( PATH_TO_LLVM_ROOT "C:/Program Files (x86)/LLVM" CACHE PATH "Path to the root of a LLVM+Clang binary distribution" ) |
のように書き換えます。
6.コマンドプロンプトを開き、YouCompleteMeのディレクトリに移動して、
1 |
python install.py --clang-completer --build-dir ycm_build |
私の場合、python2とpython3をインストールしてしまったため、
1 |
py -2 install.py --clang-completer --build-dir ycm_build |
でpythonのバージョンを指定して、実行しました。--build-dirのオプションはもしかしたらいらないかも?この時、Visual Studioのコンパイラを使っているような文字が出たので、もしかしたらVisual Studioのインストールが必要かも?
7.Vimを開くと「VimでPythonが使えないからYCMは使えないよ」みたいな警告が出たので、Python2のディレクトリにある「python27.dll」をVimの実行ファイルのあるディレクトリにコピーしました。
YouCompleteMeを使ってみる
8.YCMが使えそうだったので、YouCompleteMeのディレクトリからthird_party/ycmd/examples/samplesにあるsome_cpp.cppをVimで開きます。
.ycm_extra_conf.pyをロードするようなダイアログが出るので、ロードします。
9.mainにあったfooのドットを一回消して、再度入力すると
補完がされます。ノーマルモードに移ると、
エラー部分が出ます。
10.自分のソースコードでも試してみます。ソースコードはC言語です。
.ycm_extra_conf.pyをソースコードのあるフォルダにコピーして、
.ycm_extra_conf.pyのflagの-stdの部分をC99に変更して、ソースコードを開いて、適当な構造体の補完がされるかどうかを試します。
構造体のメンバーがいい感じで補完されています。
Windowsだと32bit版だとか64bit版だとかあってとても苦労しました。