はじめに
AI特化型エディタの Cursor はVSCodeフォークであるため、基本的にはVSCodeの拡張機能がそのまま動作します。しかし、組み込み開発の定番である PlatformIO IDE を導入しようとすると、依存関係である C/C++ 拡張機能 の扱いで厄介な問題に直面します。
この記事では、Microsoft版のC/C++拡張機能で発生するライセンス警告を回避し、Cursor提供の「Anysphere版」を使いつつ、PlatformIO側の依存関係(package.json)を内部的に書き換えて正常動作させるハックを紹介します。
発生する問題:Microsoft版拡張機能のライセンスと依存関係
PlatformIO IDEをインストールすると、通常は依存関係としてMicrosoft公式のC/C++拡張機能(ms-vscode.cpptools)が要求されます。
しかしこれをCursorなどの「非VSCodeエディタ」に導入すると、「ライセンス規約上Microsoftサービスのみ使用できる」といった警告が常に表示されてしまいます。
一方で、CursorにはAnysphereが提供する Anysphere版のC/C++拡張機能(anysphere.open-cpptools) が存在し、こちらを使えば警告は出ません。
問題は、PlatformIO拡張機能が内部的に「Microsoft版(ms-vscode.cpptools)がインストールされていること」を必須条件としている点です。そのため、Anysphere版を入れただけではPlatformIOはエラーを吐いて起動しません。
今回はこの依存関係の縛りを力技で突破します。
解決手順
1. Anysphere版 C/C++ 拡張機能のインストール
まず、Cursorの拡張機能マーケットプレイスで C/C++ と検索し、Anysphere提供の拡張機能をインストールします。
2. PlatformIO IDE(.vsix)の取得とインストール
次に、PlatformIOの公式GitHubリリースページ等から、最新の .vsix ファイルをローカルにダウンロードします。
ダウンロードできたら、Cursorのコマンドパレットを使ってインストールします。
- Cursor上でコマンドパレット(
Cmd + Shift + P/Ctrl + Shift + P)を開く - 検索窓に
vsixと入力 - 一番上に出てくる
Extensions: Install from VSIX...(VSIX からインストール...) を選択 - ダウンロードした PlatformIO の
.vsixファイルを選択
拡張機能メニューの奥深くから探さなくても、コマンドパレットで vsix と打ち込むのが一番手っ取り早く確実です。
3. PlatformIO の package.json をハックする
インストールが完了したら、PlatformIO拡張機能の内部データを書き換え、依存先をMicrosoft版からAnysphere版に変更します。
① 拡張機能のインストールディレクトリを開く
OSによって異なりますが、通常は以下のパスに展開されています。
| OS | パス |
|---|---|
| Windows | C:\Users\<ユーザー名>\.cursor\extensions\platformio.platformio-ide-<バージョン>\ |
| macOS / Linux | ~/.cursor/extensions/platformio.platformio-ide-<バージョン>/ |
② package.json の書き換え
該当フォルダ内にある package.json をエディタで開き、extensionDependencies の項目を探します。
以下のように、要求されているIDを anysphere.open-cpptools に書き換えて保存します。
"extensionDependencies": [
- "ms-vscode.cpptools"
+ "anysphere.open-cpptools"
]
4. Cursorの再起動
書き換えが完了したら、設定を反映させるために Cursorを完全に再起動 します。
結果
再起動後、PlatformIOは依存関係のチェックを通過し、Anysphere版のC/C++拡張機能(IntelliSense等)を認識した状態で正常に起動するようになります。
ビルド(✓)や書き込み(→)のステータスバーアイコンも表示され、ESP32やArduinoなどの実機開発が通常通り行えます。もちろん、あの煩わしいライセンス警告も一切出ません。
おわりに
拡張機能の package.json を直接書き換えるという力技ですが、これでCursorの強力なAIアシストの恩恵を受けながら、安全かつ快適にマイコン開発が行えるようになりました。
PlatformIO拡張機能本体のアップデートが入ると package.json が上書きされ、元の状態に戻る可能性があります。その際は再度この書き換え手順を行う必要があります。
同じようにCursorで組み込み開発を行っていて、ライセンスや依存関係のエラーに直面している方の参考になれば幸いです!


