プログラミング

VSCodeでArduinoの開発をする方法

ArduinoIDEからVSCodeに乗り換え

はじめに

ArduinoIDEでの開発が苦しく感じていたところ、VSCode単体でソースコードのコンパイルと、Arduinoへの書き込みが可能ということを知りました。

そこでVSCodeを導入した結果、コード補完機能も使えることから、かなり快適になりました。(今ではもう戻れない)

今回はArduinoの開発をVSCodeでサクサク行うための環境の作り方を紹介します。

前提条件

前提条件として、以下の導入が終わっているものとします。

  • Visual Studio Codeのインストール
  • VSCodeの拡張機能、C/C++ for Visual Studio Codeのインストール
  • ArduinoIDEのインストール

また、本記事で紹介する導入方法はWindowsを対象としています

拡張機能のインストール

インストールする拡張機能は、以下の2つです。

  • Arduino for Visual Studio Code
  • arduino-snippets

Arduino for Visual Studio Code

Arduinoボードへの書き込みをVSCodeから行えるようにするための拡張機能です。

拡張機能マネージャーの検索欄で「arduino」と検索し、トップに出てきたMicrosoft社のものが今回入れるものです。

「インストール」をクリックすれば作業は完了です。

arduino-snippets

VSCodeでArduinoのコードを書く際に、強力な予測補完をしてくれるので、大活躍します。

この拡張機能については、Arduino for VSCodeを導入しなくても単体で使うことができます。

https://marketplace.visualstudio.com/items?itemName=ronaldosena.arduino-snippets

VSCodeの設定を編集

ファイル > ユーザー設定 > 設定 から設定画面を開きます。

ユーザータブであることを確認し、拡張機能を開きます。

ArduinoConfigurationが出てくるのでクリックして設定を行っていきます。

arduino.path

arduino.pathには、ArduinoIDEの実行ファイルがあるディレクトリを設定します。

ArduinoIDEインストール時に、特に変更した点がなければ「C:\Program Files (x86)\Arduino」となります。

arduino.commandPath

arduino.pathでは、IDEの実行ファイルがあるディレクトリを設定しました。

ここでは、そのディレクトリ内にある実行ファイルそのもののファイルを設定します。

Windowsの場合は「arduino_debug.exe」がIDEの実行ファイルとなります。

Linuxの場合は「arduino」となります。

arduino.defaultBaudRate

シリアルモニタのボーレートのデフォルト値を設定できます。

電子工作でよく使う「9600」を登録しておくのが、おすすめです。

C_Cpp.intelliSenseEngine

コード補完機能の設定です。「Tag Parser」を設定してください。

設定をする場所が見つからなかったら、設定の検索欄から検索をかけると早く見つけられます。

C_Cpp.default.includePath

インクルードした時に読み込まれるライブラリの場所を設定します。

Arduinoのライブラリが存在する場所は、C:\Program Files (x86)\Arduinoディレクトリ内の「libraries」「hardware」「tools」

ドキュメント\Arduinoディレクトリ内の「libraries」の以上4つです。


「setting.jsonで編集」から設定ファイルを編集します。

編集の仕方については下記の設定例を参考にしてください。

設定ファイルの一例

私のsetting.jsonの内容です。参考までに。

{
    "terminal.integrated.shell.windows": "C:\\Windows\\System32\\cmd.exe", //開くターミナルをcmdに設定
    "C_Cpp.updateChannel": "Insiders",
    "explorer.confirmDelete": false,
    "C_Cpp.default.includePath": [ //インクルードライブラリの設定
        "C:\\Users\\username\\Documents\\Arduino\\libraries",  //usernameは適宜変更すること。
        "C:\\Program Files (x86)\\Arduino\\tools",
        "C:\\Program Files (x86)\\Arduino\\libraries",
        "C:\\Program Files (x86)\\Arduino\\hardware"
    ],
    "C_Cpp.intelliSenseEngine": "Tag Parser", //コード補完の設定
    "arduino.path": "C:\\Program Files (x86)\\Arduino",
    "arduino.commandPath": "arduino_debug.exe",
    "arduino.additionalUrls": [],
    "arduino.logLevel": "info",
    "arduino.enableUSBDetection": true,
    "arduino.disableTestingOpen": false,
    "arduino.skipHeaderProvider": false,
    "arduino.defaultBaudRate": 9600,
}

文字化けの修正(Windows)

このままでも実行自体は可能ですが、ArduinoIDEの出力する日本語が文字化けしてしまいます。

そこで、「C:\Users\%USERNAME%\.vscode\extensions\vsciot-vscode.vscode-arduino-0.3.0\out\src\common\util.js」のファイルを編集します。

215~225行のソースコードをコメントアウトしてください。

基本的な使い方

スケッチの開き方

通常ArduinoIDEでスケッチを作成すると、

スケッチ名のフォルダ > スケッチ名.inoという構成になります。

これをVSCodeで編集し、書き込む場合はスケッチ名のフォルダを開く必要があります。

フォルダアイコンの上で右クリックし、「VSCodeで開く」でも良いですし、「ファイル>フォルダーを開く」で開いてもOKです。

Arduinoボードの種類を選択

<Select Board Type>からボードの設定を開きます

Arduino Board Configurationというタブが開かれるので、自分の使っているArduinoの種類を選択してください。

シリアルポートの選択

下の設定バーからポートを選択可能です。

Arduinoボードが割り当てられたCOMポートを選択してください。

コンパイル

右上のチェックマークのあるアイコンを押すとコードのコンパイルが通るか確認できます。

Arduinoへの書き込み

コンパイル同様右上のアイコンからボードへの書き込みが可能です。

Ctrl+Alt+Uのショートカットでも実行可能です。

頻繁に使う操作なのでショートカットを覚えておくと便利です。

シリアルモニタを開く

右下のバーのコンセントのマークからシリアルモニタを開けます。

また、ボーレートの設定もここから変更可能です。

さいごに

ArduinoIDEに苦しめられている人達を最近よく見かけていたので、VSCordでサクッと開発できる環境を作る方法を紹介しました。

デバッグ機能などを駆使することで、更に効率よく開発ができるようになると思います。

この設定を適用した直後からあなたはこの開発環境でないとArduinoの開発ができなくなることでしょう…..

どんどんシェアして周りの人も沼に誘うのです…..

それでは良いVSCodeライフを~

参考サイト