Arduino-Visual Studio Codeでの開発2

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を使っていたので手間だった。

コメント

タイトルとURLをコピーしました