1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

CursorでPlatformIO IDEを使う

1
Posted at

はじめに

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サービスのみ使用できる」といった警告が常に表示されてしまいます。

Microsoft版のライセンス警告の例

一方で、CursorにはAnysphereが提供する Anysphere版のC/C++拡張機能(anysphere.open-cpptools が存在し、こちらを使えば警告は出ません。

Anysphere版C/C++拡張機能

問題は、PlatformIO拡張機能が内部的に「Microsoft版(ms-vscode.cpptools)がインストールされていること」を必須条件としている点です。そのため、Anysphere版を入れただけではPlatformIOはエラーを吐いて起動しません。

今回はこの依存関係の縛りを力技で突破します。

解決手順

1. Anysphere版 C/C++ 拡張機能のインストール

まず、Cursorの拡張機能マーケットプレイスで C/C++ と検索し、Anysphere提供の拡張機能をインストールします。

2. PlatformIO IDE(.vsix)の取得とインストール

次に、PlatformIOの公式GitHubリリースページ等から、最新の .vsix ファイルをローカルにダウンロードします。

ダウンロードできたら、Cursorのコマンドパレットを使ってインストールします。

  1. Cursor上でコマンドパレット(Cmd + Shift + P / Ctrl + Shift + P)を開く
  2. 検索窓に vsix と入力
  3. 一番上に出てくる Extensions: Install from VSIX...(VSIX からインストール...) を選択
  4. ダウンロードした PlatformIO の .vsix ファイルを選択

コマンドパレットから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 に書き換えて保存します。

package.json
  "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で組み込み開発を行っていて、ライセンスや依存関係のエラーに直面している方の参考になれば幸いです!

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?