Copilot次の編集候補 (プレビュー)
2025年2月12日 Brigit Murtaugh, Burke Holland
このVisual Studio Codeのリリースで、GitHub Copilot のプレビューを1つだけでなく、2つでもなく、3つも発表できることを嬉しく思います
- 次の編集候補
- Copilot Edits のためのエージェントモード
- Vision
この記事では、次の編集候補 (Next Edit Suggestions) について深く掘り下げ、エディターにおける AI 駆動のコード補完の次の進化について見ていきます。
次の編集候補 (NES)
GitHub Copilot のコード補完 (ゴーストテキストとも呼ばれます) は、オートコンプリートに非常に優れています。GitHub Copilot を使っていて最も感動する瞬間の1つは、あなたがコードを要求するまでもなく、頭の中で思い描いていたコードを提案してくれるときです。しかし、ほとんどのコーディング活動では、新しい行を書くのと同じくらい既存のコードの編集を伴います。補完機能が既存のコードでも機能することは、自然な次のステップです。
これを私たちは次の編集候補、略してNESと呼んでいます。そして、そうです。この頭字語を見ると、私たちもゲーム機への郷愁を感じます。
NES の使用開始
Copilot NES を使い始めるには、まず VS Code の設定 github.copilot.nextEditSuggestions.enabled を有効にします。
補完機能と同様に、NES からの提案を受け取るために必要なのは、コーディングを開始することだけです!
編集候補が表示されたら、Tab キーで移動し、もう一度 Tab キーで承認します。関連ファイルや参照を手動で検索する必要はありません。Copilot NES が、あなたの次の関連する編集を把握しておきます!
ガターに表示される矢印は、編集候補があることを示しています。矢印にカーソルを合わせると、キーボードショートカットや設定構成を含む編集候補メニューが表示されます。
その編集候補を通り過ぎてスクロールしましたか?矢印は、ファイル内の現在の位置に基づいて上下に示され、次の編集候補の場所をヒントとして教えてくれます。
提案は、潜在的な変更の範囲に応じて、単一のシンボル、行全体、または複数行にわたることがあります。
更新された設定を有効にするには、VS Code を再ロードしてください。
Copilot Business または Enterprise ユーザーの場合、エディターで github.copilot.nextEditSuggestions.enabled を設定することに加えて、組織の管理者が Copilot の「Editor Preview Features」の使用を許可する必要があります。
組織で Copilot のポリシーを管理する方法について、さらに詳しく学ぶことができます。
使用例のシナリオ
Copilot NES は、ファイルやプロジェクト全体に波及する可能性のある変更を加える際の AI コンパニオンであり、様々なシナリオでその真価を発揮します。
間違いの検出と修正: 間違いはコードを書く上で自然なことですが、Copilot NES はそれらを検出するのに役立ちます (時には間違いに気づく前に!)。
NES は、タイプミスのような小さな間違いにも役立ちます。例えば、集中して素早くコーディングしていて、`const` の代わりに `conts` と書いてしまった場合などです。
NES は、反転した三項演算子のような、より複雑なロジックの誤りにも役立ちます。
私たちの開発チームは NES を自己ホストしており、このブログを作成している際に、あるエンジニアが NES で初めて「なるほど!」と思った瞬間の1つを思い出しました。彼は `if (something !== 'a' || something !== 'b')` のような条件式を書いていました。NES はこのステートメントが常に true に評価されること (ド・モルガンの法則のおかげです!) を検出し、コードを有効にするために `||` を `&&` に置き換えることを提案しました。
意図の変更: Copilot NES は、意図の変更に合致する変更を提案します。例えば、クラス名を `Point` から `Point3D` に変更すると、クラス定義と距離計算に `z` 変数を追加する提案につながります。
新しく追加された変数やロジックの使用: Copilot NES は、あなたが追加したばかりの新しいコードの使用を助けます。これは、実際のメソッドで新しいメソッドパラメータを呼び出すような小さな変更である場合もあります。
より複雑な場合もあります。VS Code 拡張機能の `extension.ts` に新しいコマンドを追加した場合、NES はまず `extension.ts` 内のコマンドをクリーンアップすることを提案します。その後、`package.json` を開くと、NES はそのコマンドも登録することを提案します。
リファクタリング: 新しい名前や命名パターンを使用した場合、Copilot NES はそれに合わせて後続のコードを同様に更新することを提案します。
NES エクスペリエンスを拡大するにあたり、詳細情報やシナリオについては、完全な NES ドキュメントを参照してください。
フィードバックをお寄せください
Copilot NES は急速に進化しており、私たちのリポジトリのイシューを通じて皆様からのフィードバックをいただくことを心待ちにしています。これはエクスペリエンスの改善に不可欠なものとなるでしょう。
最新の機能と修正をすべて利用するには、VS Code Insiders と GitHub Copilot Chat 拡張機能のプレリリース版を必ず使用してください。拡張機能のプレリリース版をインストールする方法について、さらに詳しい情報を入手してください。
NES エクスペリエンスを拡大するにあたり、詳細情報やシナリオについては、完全な NES ドキュメントを参照してください。
Copilot が次に何をしたいかを予測する AI の次のステップに、私たちは興奮しています。最高のプロンプトとは、あなたが書く必要のないものです。皆さんも同じように興奮し、皆さんが何を作成するかを見るのを楽しみにしています!
エージェントモード
先週の VS Code Insiders リリースから、GitHub Copilot Edits にエージェントモードのオプションが追加されました。
Copilot Edits のエージェントモードは、自身のコードを反復処理し、エラーを認識して自動的に修正し、要求されたタスクを完了するために必要なターミナルコマンドを実行し、自己修復機能でランタイムエラーを解決することができます。ユーザーが要求するタスクを単に実行するだけでなく、GitHub Copilot は、主たる要求が機能するために、指定されなかった他のすべてのタスクを推測し、完了させることも可能になりました。
GitHub Copilot のエージェントモードには計り知れない可能性を感じています。日々改善されていますが、できるだけ早く皆様にお届けしたいと考えました。エクスペリエンスを洗練させるにあたり、今後数週間での大きな変更や改善にご注目ください。また、試してみて (VS Code Insiders では今日から、VS Code Stable では近日中に) フィードバックをお寄せください。
エージェントモードの詳細については、ドキュメントをご覧ください。
Vision
今回の VS Code Insiders のリリースでは、GitHub Copilot に Vision サポートも追加されました。
見たものをCopilotに何度も説明に翻訳しなければならないのは、煩わしいことがあります。これは、ユーザーインターフェースを操作したり、エディターで何かを設定する方法を尋ねたりする場合に特に当てはまります。これで、プロンプトにスクリーンショットを添付するだけで、Copilot はあなたが何を見ているのかを正確に把握できるようになります。次のことができます...
- クリップボードから貼り付け
- エクスプローラービューから画像をドラッグ&ドロップ
- 現在の VS Code ウィンドウのスクリーンショットを添付 (添付 > スクリーンショットウィンドウ を選択)
これにより、あらゆる種類のシナリオが可能になります...
- Copilot にモックアップを提供して、UI コードを生成させる。
- 正しくないインターフェースのスクリーンショットを提供して、Copilot がレイアウトを修正するのを助けてもらう。
- HTML および Markdown 内の画像の代替テキストを生成
- エラーのスクリーンショットを提供する
Vision は本日より VS Code Insiders で利用可能であり、誰でも利用できます。現時点でサポートされているモデルは GPT 4o のみですが、他のモデルのサポートも進行中です。現在サポートされている画像タイプは、JPEG/JPG、PNG、GIF、WEBP です。
新年、新しい Copilot
私たちは、Copilot を AI ペアプログラマーとして、誰でも無料で利用できるだけでなく、AI が生産性と満足度を劇的に向上させるために何ができるかの限界を押し広げ続ける、という大きな計画を持っています。
私たちは VS Code 自体の改善を止めることはありません。したがって、すべての新機能については、最近のリリースノートをぜひ確認してください。私たちは、皆様が最高のコードエディターと最高の AI ペアプログラマーを利用できるようにすることを強く主張しています。
AI の世界は急速に変化していることを私たちは認識しています。そのため、X/Bluesky/LinkedIn で私たちをフォローして、Copilot の最新かつ最高の機能について簡単に情報を入手できるようにしてください。
楽しくコーディングしましょう!
ブリジットとバーク