Help us understand the problem. What is going on with this article?

VS codeのinclude pathの設定をちゃんとする

More than 1 year has passed since last update.

状況

使い捨てのC++コードを書いているのですが、それでEigenをインクルードしようとした時、
ファイルが見つからないと言った感じのことを言われて、Intellisenseの補完が効きませんでした。

今回に限ればそんなにEigenから呼び出さないので、適当にググったりコンパイル時のエラーメッセージをみたりとかで調整してもいいのですが、せっかくなのでできるようにしたいと思います。

環境

Ubuntu 16.04
Visual studio code 1.23.1

やり方

まず、プログラムのソースコードを含むフォルダを開きます。

vscode_opening_folder.png

Eigenをインクルードしているところを見てみます。

vscode_no_include.png

問題があることを示す緑色の波線が引かれています。これにカーソルを合わせます。

vscode_clicking_hint.png

左上に電球のアイコンが出てきますので、これをクリックします。

vscode_clicked_hint.png

設定にPathを設定するかどうかのリストが出てきました。他でTensorflowで遊んでいますので、そのPathも見つけてくれているようです。

ここまで出来るなら勝手に/usr/include/eigen3から引っ張ってきて補完してくれてもいいのに・・・

とりあえず一番上の/usr/include/eigen3をIncludePathに追加する項目をクリックします。

vscode_after_setup_includepath.png

すると、.vscodeフォルダ以下にc_cpp_properties.jsonというファイルができて、
"includePath""/usr/include/eigen3"が設定されていることがわかります。

これでもう一度cppファイルを開き、コーディングしてみます。

vscode_after_enable_eigen.png

無事、補完が有効に働いているようです。

ちなみにフォルダを開いてやらないと補完してくれませんでした。

その他

.vscodeフォルダには他に.settings.jsonファイルがあり、このフォルダ以下でのみ有効な設定をエディタの設定に追加することができます。
インデントのスペース数とかを調整できます。

なんとなく、Visual Studioでプロジェクトのプロパティから設定していくよりはなんか自動的にできて簡単かなとは思いました。

まあネット上には他にもいっぱいこの情報を載せているところも多いでしょうが、僕の記憶を定着させる目的もあり、書いておくことにしました。

sage-git
計算化学勉強してたらなんか機械学習とWebアプリケーションもやることになりました。
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away