これを使いたくて、別に難しくはなかったけどちょっと手間取ったのでメモ。
まずはこのVS Code拡張をインストール。「Arduino」という名前のやつがいろいろあるけど、Microsoftのやつが正解です。

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

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

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




これでもうコンパイルできますが、.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.
とのことで、必須ではないけど設定しておいたほうがいいフィールドです。

これでもうVS Codeからアップロードできるはず。
参考:Arduino CLI
ちなみに、vscode-arduinoではArduino CLIはまだサポートされてないみたいです。
Sparkfunのブログにあるように自分でtasks.jsonを書けばいいだけの話なんですが、まあvscode-arduinoを使っておいた方がお手軽そうなのでそこまでやるモチベーションはまだないかなという...