Visual Studio CodeでCircuitPythonプログラムを開発する

2024/11/06に公開

VSCodeでCircuitPythonをいじり始めました。環境の設定に少し手間取ったのでメモ代わりに書いておきます。

開発環境のOSはWindowsです。私は通常WSLでC++による開発を行っていますが、CircuitPythonはその実行環境の性質上USBマスストレージ上のルートディレクトリでの開発になるため、WSLを使わず生のWindowsで行っています。

WindowsにPythonをインストールしなければならない

最初に戸惑ったのはこれです。開発に使うのはCircuitPythonであり、インタープリターは実行環境上にあります。しかしながら、VS Codeが複数のPython用拡張機能を持ち込むせいか、WindowsのPythonインタープリターをインストールしろと警告されます。

私はMicrosoftのストアからPython 3.11をインストールしました。

VS CodeにCircuitPython拡張機能をインストールする

CircuitPython拡張機能は、CircuitPythonの開発中にバンドルのダウンロードや、ターゲット基板に応じた設定をしてくれるアプリです。CircuitPythonはPythonの標準ライブラリに無いモジュールを使うため、重宝します。

インストールはVS Codeの拡張機能アクションから行います。

CircuitPython拡張機能をダウングレードする

これがわかるまで苦闘しました。2024年11月現在の最新版は0.2.0ですが、このバージョンは新しいVS Codeでは動きません。以下のような不具合があります。

  • ターゲット基板を選択できない。
  • シリアル・ポートを開くことができない。

バージョン0.1.20にダウングレードしてようやく動くようになりました。拡張機能のダウングレード方法はVS Codeに備わっていますので、検索してください。

拡張機能が正常動作すると、ステータスバーにターゲット基板の名前が表示されます。名前をクリックすると変更できます。

プログラムの名前をcode.pyからmain.pyに変更する。

こうしないと「codeモジュールの名前を上書きしている」という波線警告がうるさくて仕方ないです。

ターミナル・エミュレータはなんでもいい

CircuitPython拡張機能にはターミナル・エミュレータがついていますがあえてこれにこだわる必要はありません。私は使いなれたSerial Monitorを使っています。

Discussion