🪶

GitHub Copilot for Xcode Agent正式にリリースされていた

に公開

以前はPre-releaseを使ってた

最近、GitHub Copilot for XcodeをupdateするとPre-releaseでしか使用できなかったAgentモードが使えるようになっておりました。

https://github.com/github/CopilotForXcode?tab=readme-ov-file#agent-mode

Agent Mode

Github Copilot Agent Modeは、コードベースを直接理解および変更できるAI駆動の支援を提供します。エージェントモードでは、次のことができます。

  • ファイルに直接適用されるインテリジェントコード編集を取得します
  • ターミナルコマンドを実行し、インターフェイスを離れることなく出力を表示します
  • コードベースを検索して、関連するファイルとコードスニペットを見つけます
  • プロジェクトに必要に応じて新しいファイルとディレクトリを作成する
  • 複数のファイルとフォルダーにわたってコンテキストの強化された認識を支援する
  • モデルコンテキストプロトコル(MCP)ツールを実行して、機能を拡張するように構成しました

回転するアニメーションを実装してみる

早速リリースされた機能で、三角形が回転するアニメーションを実装してみます。

やり方
toggleボタンを押して、Ask->Agentに切り替える。

このAIさん優秀でして三角形のアニメーションも作ってくれます!

Example

sample
import SwiftUI

struct ContentView: View {
    // 回転角度を保存するステート変数
    @State private var rotation: Double = 0
    
    var body: some View {
        VStack {
            // 三角形の図形を作成
            Triangle()
                .fill(Color.blue) // 三角形を青色で塗りつぶす
                .frame(width: 200, height: 200) // サイズの設定
                .rotationEffect(.degrees(rotation)) // 回転効果を適用
                .animation(
                    Animation.linear(duration: 2) // 2秒間の線形アニメーション
                        .repeatForever(autoreverses: false), // 永続的に繰り返す
                    value: rotation
                )
                .onAppear {
                    // ビューが表示されたときに回転を開始
                    rotation = 360 // 360度(1回転)に設定
                }
                .padding(50) // 余白を追加
        }
        .frame(maxWidth: .infinity, maxHeight: .infinity) // 画面全体にVStackを広げる
        .background(Color.white) // 背景色を白に設定
    }
}

// 三角形の図形を定義するカスタムShape
struct Triangle: Shape {
    func path(in rect: CGRect) -> Path {
        var path = Path()
        
        // 三角形の3つの頂点を定義
        path.move(to: CGPoint(x: rect.midX, y: rect.minY)) // 上部の頂点
        path.addLine(to: CGPoint(x: rect.minX, y: rect.maxY)) // 左下の頂点
        path.addLine(to: CGPoint(x: rect.maxX, y: rect.maxY)) // 右下の頂点
        path.closeSubpath() // 図形を閉じる
        
        return path
    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

使ってみた感想

以前は、Pre-releaseを使用していたのですが正式にリリースされたので最新版にupdateされたものを使用しております。

個人開発でも使っているのでかなり精度が高く欲しいきのう実装してくれました。
音声をテキストに変換する機能とテキストを音声で再生する機能を実装していたのですが競合が起きてします悩みが以前あったのを解決してくれました。

Cursorを開いて、Agentモード使いながらXcodeでビルドだけするストレスな方いたら試してみてください。GitHub Copilotは$10から始めることができます。

Discussion