AIコードエディタ「Windsurf」でiOSアプリの機能追加を試してみた

## はじめに
AIコードエディタ「[Windsurf](https://codeium.com/windsurf)」を使って、iOSアプリの機能追加を試してみました。本記事ではその導入から実際の使用感、感想をまとめます。

## Windsurfとは？
WindsurfはCodeiumが提供するAI駆動のコードエディタで、コード補完やデバッグ支援などができます。またChatGPTのようなAIアシスタント機能も搭載されており、Copilot AgentやCousorなどと同じく開発の効率化を図ることができます。

## 使用環境
- Mac mini (M4, macOS 15.3.2)
- Xcode 16.2
- Windsurf 1.4.6

## Windsurfのセットアップ

1. Windsurfをダウンロードしてインストール
    以下からダウンロード可能です。
    https://codeium.com/windsurf/download_mac
2. 起動からGitHubアカウントでログイン(Googleなどでも可能)
`Start fresh`を選択　
![スクリーンショット 2025-03-15 10.52.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/7e890589-5a90-4a30-9b39-21cdb07adf20.png)
VS Codeの設定を使いたいので`Default`を選択
![スクリーンショット 2025-03-15 10.52.37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/f323b35d-a004-4a1b-a32d-83e4d66bfd9b.png)
テーマは`Dark`を選択
![スクリーンショット 2025-03-15 10.52.45.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/666e3ce4-c102-475b-b3e2-dea4767ac799.png)
初めて使うので`Sign up`を選択
![スクリーンショット 2025-03-15 10.52.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/5d5df1f9-aed6-4e59-acad-f097cfe12e33.png)
`Sign up with GitHub`を選択
![スクリーンショット 2025-03-15 10.53.05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/5e591c5f-24f3-422d-8fd4-eb3ea887c5f1.png)
3. iOSの個人開発アプリのプロジェクトを開く
こんな感じになる。右側のパネルがなかったら`これVS Code`と言われても信じるレベルでUI一緒！と思ったらWindsurfもCursorと同じくVS Codeのフォークだった。
![スクリーンショット 2025-03-15 10.54.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/3f471d90-99b2-4bf1-8ed0-2181bd8a17ba.png)
右側のパネルで指示ができます。モデルも選べてこんな感じ、モデルごとに消費するクレジットが違いますね。
![スクリーンショット 2025-03-15 10.55.02.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/4238c649-22ad-42af-a79d-ffb993af2af7.png)
とりあえず私は`Claude 3.5 Sonnet`のままにしました。

## 追加する機能
さっそく機能追加してもらおうと思います。

アプリはSwift Dataを使っているのですが、保存されているデータをサクッとデバッグしたいので専用画面を作ってもらうことにしました。プロンプトは以下のように詳細ではなくざっくり指示にしてみます。

![スクリーンショット 2025-03-15 10.56.03.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/415f916e-c90d-48cc-b220-c92c01fe146a.png)

すると該当のファイルを読み込んでDebugViewを作ってくれました。Swift Dataは`Emotion.swift`で合ってます。
![スクリーンショット 2025-03-15 10.56.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/f5f6526f-3b18-439f-8478-41e2fc765b58.png)
![スクリーンショット 2025-03-15 10.57.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/5eda337e-1ca4-46c0-ac57-f2b61b84d4ef.png)
試しにXcodeでビルドしたらエラーが出てます。
![スクリーンショット 2025-03-15 10.59.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/bba79cf0-8a62-4d06-9f90-77f14908084c.png)
エラー内容や解決方法は指示せず、ビルドして解決してもらいます。
![スクリーンショット 2025-03-15 10.59.54.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/8e62e4a2-ff4a-4630-b530-f9f98c385b9d.png)
エラーを特定して修正後、ビルドが成功してます。
![スクリーンショット_2025-03-15_11_00_40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/e71f4752-6198-4210-a7c2-24a6d37f97ef.png)
![スクリーンショット 2025-03-15 11.01.14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/7852b395-77ab-4720-857d-58bfd53be7c2.png)
![スクリーンショット 2025-03-15 11.02.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/a02b4b77-ec3b-4be6-9194-61caf1b6c029.png)

ちゃんとViewフォルダの下にDebugViewを作ってくれてますね。
![スクリーンショット 2025-03-15 11.04.17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/3dbb7108-db8d-4adc-9f22-417bc8fd38ea.png)

ただDebugViewを表示すると何も表示されないという状態になったので、そこら辺はもう少し詳しいプロンプトでの指示が必要そうです。でも追加するコードの位置に間違いはなく、余計なコードも無かったです。

## 最後に

使ってみた感想としては作業内容が丁寧な印象で、速度も今回の指示が簡単だったせいかもしれませんが、詰まることがなく早かったので選択肢に十分入るかと思いました。

以下のようにコマンド自動実行の許可設定もできるので良いですね。非許可の設定できるのも良いと思いました。
![スクリーンショット 2025-03-15 12.50.35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/4f4ae280-b707-4857-a3e8-5e46a96310ba.png)

また、コードスニペットデータ収集は有料プランではデフォルト無効になっているそうです。
https://codeium.com/security

無料プランではデフォルト有効になっていますが[ここ](https://codeium.com/settings)から無効にできます。

![スクリーンショット 2025-03-15 13.06.30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/5ef5e7e3-9559-4dc2-a853-cd412614e0db.png)

料金に関して、今回の指示（実際は記事にしている内容の2倍くらいは使いました）で以下のクレジット消費でした。
![スクリーンショット 2025-03-15 11.55.39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/16e058ff-96eb-43fe-96c2-5bba5161c7a0.png)

[プラン](https://codeium.com/pricing)はProで1500 Flow Action creditsなので今回の使用量で1日2~3回は使えそうですね。
![スクリーンショット 2025-03-15 11.56.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3618958/f014ad1f-550a-46e0-8cb3-b68be9df92e4.png)

ここまで読んでくださりありがとうございます。