M5Stack Core2を買ったので、使いづらいArduino IDEを脱出して、Arduino for VSCodeで開発しようと思ったんですが、設定で結構手間取ったので、必要な項目をメモしておきます。
まず、Arduino IDEは普通のWindows版を入れましょう。Windows App版ではなくWindows版です。私はWindows App版を入れていたようなんですが、どうにもうまく設定できなかったので、Windows版を再インストールしました。
しなくてもいけたかもしれませんが、手元だとライブラリマネージャが使えなかったので諦めました。
VSCodeのsettings.jsonと<project>/.vscode/c_cpp_properties.jsonの設定
この辺が、調べれば調べるほど違う書き方が出てきて、よく分からなくなっていたところです。
(そもそも私がほぼvscodeを触っていなかったために勝手に混乱していたのですが)<project>/.vscode/c_cpp_properties.jsonはプロジェクト固有の設定で、settings.jsonは全体にかかる設定です。settings.jsonの設定を<project>/.vscode/c_cpp_properties.jsonがオーバーロードしたり追加するような感じですね。
まず、VSCodeのsettings.jsonにはこの辺を書いておきましょう。
arduino.pathとarduino.commandPathは設定必須ではないですが、その下のbrowse.pathの中で${config:arduino.path}と書くことで、arduino.pathを環境変数っぽく呼び出せるので、arduino.pathだけでも書いておくといいと思います。
また、browse.pathの最終行の${env:USERPROFILE}はお察しの通りWindowsの環境変数の%USERPROFILE%を呼び出しています。
Arduino用のライブラリはユーザーディレクトリ配下のドキュメント/Arduino/librariesに入っていたのでそこを指定しています。
この状態で一度.inoファイルを開いてArduino: Verifyを行うと、恐らく自動的に<project>/.vscode/c_cpp_properties.jsonが生成されます。
このままだと多分#include <M5Core2.h>がbrowse.pathにないとIntelliSenseが波線付けてくると思います。(IntelliSenseの話だけだとは思うのでコンパイルは通るかもしれません)
なので、波線の解決ヒントからIntelliSenseの構成画面を開き、構成名をArduinoに変更し、詳細設定の中の参照: パスのところに${default}と書いておきます。そうすると<project>/.vscode/c_cpp_properties.jsonが以下の内容になってると思います。
ここまで書いておけば恐らくIntelliSenseやコンパイルで詰まることはないと思います。