ライブラリの開発に直接関与しませんが、スムーズに開発できる環境を整える手順を記載します。
ライブラリは VSCode で記述 -> ArduinoIDE でコンパイル, 書き込み の流れで開発します。VSCode は拡張機能をインストールすることで、コードの自動整形、スペルチェック、インテリセンスの機能を強化できます。
通常 VSCode で本ライブラリを編集します。以下の写真の手順で VSCode でフォルダを開きます。

Tip
code
コマンドで任意のディレクトリ、ファイルを開けます。以下のコマンドで本ライブラリを開くことができます。
code ~/Arduino/libraries/UdonLibrary/
開けるとこのようになります。左に表示されるエクスプローラーからファイルを開けるので、そこから編集していきます。

clang-format とはフォーマッタの一種で、コードを自動整形してくれるツールです。整形の設定を詳細に行えるので本ライブラリで採用しています。設定ファイルは UdonLibrary/.clang-format
にあります。コンパイラ基盤 LLVM に付属しています。
-
以下コマンドで LLVM をインストールします。
winget install LLVM
-
拡張機能をインストールします。Clang-Format
-
拡張機能の設定を開き、実行ファイルのパスを指定します。
C:\Program Files\LLVM\bin\clang-format.exe
※環境変数 Path に実行ファイルのパスを追加している場合は、
clang-format
と入力するだけで良いです。 -
設定ができたら自動整形が機能するか、適当にファイルを作成してテストしてみましょう。デフォルトでは
Alt
+Shift
+F
で整形できます。// 整形前 void loop(){ int a = 100; double b = 100.0; }
// 整形後 void loop() { int a = 100; double b = 100.0; }
この拡張機能はインテリセンスの機能を持ちます。定義先に移動したり、関数名などをホバーすることで記載されている doxygen コメントを表示させたりできます。
定義先に移動するには、c_cpp_properties.json に本ライブラリのインクルードパスを指定する必要があります。
"${workspaceFolder}/src"

↓ f12
で関数、クラス定義先へ移動できます。

↓ 関数、クラス名をホバーすると doxygen コメントが表示されます。

英単語のスペルミスを検出してくれるツールです。ミスがある場合、修正の提案もしてくれます。スペルチェッカーが知らない単語は辞書に追加することで対応できます。
↓ スペルミス検出の様子

↓ 修正の提案

マイコンの機能に依存しないアルゴリズム系の開発の場合、デバッグのしやすい Visual Studio が便利です。最終的に完成したファイルをライブラリに追加し Arduino IDE でコンパイルできるか確認します。
本ライブラリは Visual Studio で開くのに必要なソリューションファイル (*.sln) を持っていません。そのためライブラリごと開くことはしません。
- Visual Studio で新規プロジェクトを作成し、任意のアルゴリズム等を実装
- 実装したファイルを
UdonLibrary/src
下にいい感じに分類して追加 - Arduino 等で動作確認
- Visual Studio で新規プロジェクトを作成し、本ライブラリをインクルード
本ライブラリのインクルードディレクトリ(UdonLibrary/src
) を Visual Studio のインクルードパスに登録すると、本ライブラリのヘッダファイルをインクルードできます。 - インクルード先に移動し、既存のファイルを編集
- デバッグする
- Arduino 等で動作確認
ツールタブからオプション選択しダイアログを開きます。以下の写真に示すように ClangFormat サポートの有効化にチェックを入れるだけ!
Ctrl
+ K
→ Ctrl
+ D
で整形できます。

GitHub Copilot とは AI がソースコードを提案してくれる便利な開発支援ツールです。使用方法によりますが、このツールを導入すると開発速度が数倍アップします。
有料ですが、学生は申請を行うことで無料で使用できるので、申請することをお勧めします。なくても開発は可能です。GitHub Copilot は GitHub Student Developer Pack に付属している GitHub Global Campus に入ると使用できるようになります。GitHub Student Developer Pack は他にも有用な有料ツールを無料で使用できるようになる特権があるため、こちらに申請することをお勧めします。申請ページ
↓ GitHub Copilot による自動補完の様子 (灰色文字)
