VSCodeでArduino開発環境の準備


VSCodeでArduino開発環境の準備

シリアルモニタの文字化けやincludeのリンク切れがあったので解消メモ

手順

  1. ArduinoIDEのダウンロードとインストール
  2. VScodeのプラグインをインストールとArduinoIDEへのパス設定
  3. VScodeのsetting.jsonと.vscode/c_cpp_properties.jsonの設定

1. ArduinoIDEのダウンロードとインストール

arduino-1.8.9-windows.exeのダウンロードとインストール

Windows Installer, for Windows XP and up からダウンロード
何も考えず「次へ」的なボタンを押してすすめる
https://www.arduino.cc/en/Main/Software

2. VScodeのプラグインをインストール

Arduinoプラグインをインストール

Marketplaceで「Arduino」検索で出てくるプラグインをインストール

Arduino:Pathを設定

VScodeの左下歯車の「設定>拡張機能>Arduino configurationで「Arduino:Path」を設定

3. VScodeのsetting.jsonと.vscode/c_cpp_properties.jsonの設定

パスを拾うようにするためにこれらを設定すると良いらしい
(設定しなくてもビルドできたけど、コンソールでエラー出てるの気になるから。。)

VScodeのsetting.json

ヘッダー名を探してくれるようになる?

"C_Cpp.intelliSenseEngine": "Tag Parser"

.vscode/c_cpp_properties.json

#include関係のパスが通ってないので設定を追加する

#c_cpp_properties.json
{
  "env": {
    "PACKAGES_PATH": "C:/Program Files (x86)/Arduino",
    "USER_PATH": "C:/Users/username/Documents/Arduino"
  },
  "configurations": [{
    "name": "Win32",
    "includePath": [
      "${workspaceFolder}"
    ],
    "browse": {
      "path": [
        "${workspaceFolder}",
        "${env:PACKAGES_PATH}/tools",
        "${env:PACKAGES_PATH}/hardware",
        "${env:PACKAGES_PATH}/libraries",
        "${env:USER_PATH}/libraries"
      ]
    },
    "forcedInclude": [
      "C:\\Program Files (x86)\\Arduino\\hardware\\arduino\\avr\\cores\\arduino\\Arduino.h"
    ],
    "intelliSenseMode": "msvc-x64",
    "compilerPath": "C:/Program Files (x86)/Microsoft Visual Studio/2017/Community/VC/Tools/MSVC/14.16.27023/bin/Hostx64/x64/cl.exe",
    "cStandard": "c11",
    "cppStandard": "c++17"
  }],
  "version": 4
}

プロパティ名 説明メモ
env json内の環境変数
PACKAGES_PATH TD
USER_PATH TD
${env:PACKAGES_PATH}/tools Arduinoが元々持っているライブラリ
${env:PACKAGES_PATH}/hardware Arduinoが元々持っているライブラリ
${env:PACKAGES_PATH}/libraries Arduinoが元々持っているライブラリ
${env:PACKAGES_PATH}/libraries Zipなどで追加したライブラリ

参考サイト