メモ:Manjaro Linux 19.0.0でVisual Studio Code extension for Arduino(vscode-arduino)を使う

これを使いたくて、別に難しくはなかったけどちょっと手間取ったのでメモ。

普通にArduino IDEを使う場合の手順は以下を参照。

まずはこのVS Code拡張をインストール。「Arduino」という名前のやつがいろいろあるけど、Microsoftのやつが正解です。

f:id:yutannihilation:20200224200739p:plain

必要な設定は2つ。Pathには/usr/share/arduino、Command pathにはarduinoを指定します。 (ここで後者に/usr/share/arduinoとか絶対パスで指定したら動かなくて若干手間取りました)

f:id:yutannihilation:20200224201039p:plain

次に、Board Managerを開いて自分のボード用のパッケージをインストールします(たぶん一番上の「Arduino AVR Boards」でしょう)。

f:id:yutannihilation:20200224202109p:plain

全体の設定はこれで終わりです。あとはスケッチを開いて、ボードの種類とシリアルポートを設定します (これで.vscode下に設定ファイルができているはず)。

f:id:yutannihilation:20200224202949p:plain

f:id:yutannihilation:20200224203025p:plain

f:id:yutannihilation:20200224203044p:plain

f:id:yutannihilation:20200224203101p:plain

これでもうコンパイルできますが、.vscode/arduino.jsonを開いてoutputに適当なディレクトリを設定します。README曰く、

If not set, Arduino will create a new temporary output folder each time, which means it cannot reuse the intermediate result of the previous build leading to long verify/upload time, so it is recommended to set the field.

とのことで、必須ではないけど設定しておいたほうがいいフィールドです。

f:id:yutannihilation:20200224204040p:plain

これでもうVS Codeからアップロードできるはず。

参考:Arduino CLI

ちなみに、vscode-arduinoではArduino CLIはまだサポートされてないみたいです。

Sparkfunのブログにあるように自分でtasks.jsonを書けばいいだけの話なんですが、まあvscode-arduinoを使っておいた方がお手軽そうなのでそこまでやるモチベーションはまだないかなという...