Visual Studio CodeでArduino

Arduino IDEはなにかと不便なのでVisual Studio Code (VSCode) を使ってArduinoの開発をするメモ。

VSCodeArduino IDEをインストール

当然ながら、まずVSCodeをインストールしておくこと。また、VSCodeArduinoの開発をするといっても、内部ではArduino IDEのツールチェインを利用するので、Arduino IDEはインストールしておくこと。これらについては説明を省く。

VSCodeArduino拡張機能をインストール

Extensions(拡張機能) にて「Arduino」で検索し、MicrosoftArduino (vsciot-vscode.vscode-arduino) をインストールする。

f:id:licheng:20190820182218p:plain

コマンドの実行方法

F1 または Ctrl+Shift+P でコマンドパレットを開き、「Arduino」と入力するとコマンドが一覧表示されるので、そこから選択する。

f:id:licheng:20190820184247p:plain

サンプルスケッチを開く

コマンドパレットで「Arduino: Examples」を選択するとサンプルスケッチを選択するタブが開く。どれか一つを選択すると、Arduino/generated_examplesフォルダにそのサンプルスケッチがコピーされ(←ここポイント!)、新しいウィンドウのVSCodeで開かれる。

f:id:licheng:20190823171716p:plain

スケッチを新規作成 / スケッチを開く

スケッチを新規作成または既存のスケッチを開くには、メニューの File > Open Folder でスケッチのフォルダを開く。ファイルを新規作成するにはメニューの FIle > New File または Explolerビューの New Fileボタンをクリック。

f:id:licheng:20190824121516p:plain

ボード選択

コマンドパレットで「Arduino: Board Config」を選択するとボード選択のタブが開く。ここでボードを選択すると、スケッチのフォルダの下の .vscode/arduino.json ファイルに設定が保存される。(←ここポイント!) Arduino IDEとちがってスケッチごとに設定が保存されるのが便利である。

f:id:licheng:20190823174551p:plain

ボードによってはより詳細な選択が必要なものもあるが、この画面で設定できる。

f:id:licheng:20190824122237p:plain

シリアルポート選択

コマンドパレットで「Arduino: Select Serial Port」を選択するとシリアルポート選択のタブが開く。ボード選択と同様に、ここでの設定は .vscode/arduino.json ファイルに保存される。

f:id:licheng:20190825001112p:plain

ビルド出力先の設定

ビルド結果の出力先のパスを設定する。これを設定しないと毎回フルビルドすることになり時間がかかる。スケッチのフォルダにある .vscode/arduino.json ファイルを開き、
"output": "../build" などと追記する。カンマに注意すること。するとビルド時にはスケッチのフォルダの下のbuildフォルダに出力され、以後は差分ビルドとなる。

ただし、スケッチのフォルダ自身やそのサブフォルダは指定しないこと。その場合、正しく機能しないおそれがある。(←ここポイント) やや不便であるが、公式のREADMEに書かれている仕様である。

{
    "sketch": "Blink.ino",
    "port": "COM7",
    "board": "arduino:avr:pro",
    "configuration": "cpu=8MHzatmega328",
    "output": "../build"
}

検証 / 書き込む

コマンドパレットで「Arduino: Verify」を選択すると、スケッチが検証(ビルド)される。この操作にはショートカットキー Ctrl+Alt+R が割り当てられている。ビルド結果のメッセージは下段にビューが開いて表示される。

また、コマンドパレットで「Arduino: Upload」を選択すると、スケッチがビルドされArduinoボードにアップロード(書き込み)される。この操作にはショートカットキー Crtl+Alt+U が割り当てられている。

f:id:licheng:20190825001736p:plain:w700

シリアルモニタ

コマンドパレットで「Arduino: Change Board Rate」を選択すると、シリアルポートのボーレートを設定できる。

f:id:licheng:20190824132042p:plain

そして、コマンドパレットで「Arduino: Open Serial Monitor」を選択すると、シリアルモニタが下段に表示される。

f:id:licheng:20190825003125p:plain:w700