はじめに
ArduinoIDEを使用してM5Stackをいじってきたが、先日VSCodeを使ってみようと導入してみた(2021/05)
とりあえず導入して、以前自分が作成したプログラムを書き込めるところまでは確認。
ただ、ちょっと使いにくい、わからない、理解できていないところもあるので、いろいろメモしておく。
c_cpp_properties.json の作成
インテリセンスを使用するために必要なファイル。
インクルードしたいファイルの指定などをここに記述する必要がある。
各プロジェクトのフォルダに[.vscode]というフォルダが作られ、その中に自動で作られる。
ただし、新規作成したり、既存プロジェクトのフォルダを開いただけでは自動で作成されないみたい。
コマンドパレットに[Rebuild IntelliSense Configuration]があるが、ファイルがないと押しても何も起きない。c_cpp_properties.jsonのことではないらしい。
ベリファイで作成
ソースファイルが空っぽでもベリファイを実行すれば、c_cpp_properties.jsonは作成される。
ボード情報のフォルダと、ライブラリ(スケッチの保存先指定してあるフォルダ)から関連するヘッダファイルがある場所を自動で取得、追加してくれるみたいだ。
#include でヘッダファイルを追加した場合、一度ベリファイすればc_cpp_properties.jsonに自動で追加され、インテリセンスが働くようになる。
すぐにインテリセンスを使いたければ、自分でc_cpp_properties.jsonのincludePathにヘッダファイルの場所を追加する。
エラーメッセージはbrowse.Pathにないとでるが includePathで問題ないらしい。
browse.Pathを省略すると、includePathが使われる仕様らしい。
c_cpp_properties.jsonを編集したら保存しないと反映されない。
電球マークから追加
c_cpp_properties.jsonが無くてインクルードにエラーが出てる場合は、カーソルを重ねたときに電球マークが出る。これを押すと、「"browse.path"設定の編集」というボタンがさらに出て、これを押すと、c_cpp_properties.jsonが作成される。
ただし中身は空っぽ。
結局、インクルードするファイルはフォルダ場所を指定してあげないといけない。
だったらベリファイして作った方が早い。
c_cpp_properties.jsonは各プロジェクトごとに作成される。
編集できるが、それはそのプロジェクトのみに有効となるようだ。
大元のファイルがあって、それを変更できればよさそうだが、見つからず。
c_cpp_properties.jsonについては、どのタイミングでどのような方法で作成するのかセオリーなのかよくわからず。
とりあえず今回はここまで。