Arduino-Visual Studio Codeでの開発からgetDefaultForcedIncludeFiles部のコードを改良。
getDefaultForcedIncludeFiles() {
const result = [];
const boardDescriptor = this._boardManager.currentBoard;
if (!boardDescriptor) {
return result;
}
const dc = deviceContext_1.DeviceContext.getInstance();
const arduinoHeadFilePath = path.normalize(path.join(boardDescriptor.platform.rootBoardPath, "cores", dc.board.split(":")[0], "Arduino.h"));
if (fs.existsSync(arduinoHeadFilePath)) {
result.push(arduinoHeadFilePath);
}
return result;
}
7行目と8行目が改良部分。
ボード設定の情報からヘッダーファイル名を類推するようにした。
新たにesp8266に関するボード情報を引っ張ってきたら、そのヘッダーファイルが検索で上がってこなかった。調べてみたところヘッダーファイルが入っているフォルダの名称がボードマネージャー名?になっていることがとりあえず分かった。
そのため、arduino.jsonファイルに入っているその情報を取り出し、ヘッダーファイルのある場所を検索するためのキーワードとして使うようにした。
今のところ、arduino、esp32、esp8266を切り替えても、forcedIncludeの中身が空になるようなことにはなっていない。
後、0.3.5でデバイスにCOM接続が可能になったのがよかった。
前回0.3.4をインストールしたがCOM接続ができなかったのだが、github側を見てみたら0.3.5で修正されたよってパッケージのzipファイルがアップされていたのですぐVSCodeでもアップされるだろうと思ったのだが、正式にアップされるまでちょっと時間がかかってしまったようだ。
その間、デバイスへのプログラム転送のみにArduino IDEを使っていたので手間だった。
コメント