Copilot次の編集候補 (プレビュー)
2025年2月12日 Brigit Murtaugh、Burke Holland
このVisual Studio Codeのリリースで、GitHub Copilotのプレビューを1つ、2つではなく、なんと3つ発表できることを嬉しく思います。
- Next Edit Suggestions (次の編集候補)
- Copilot Editsのエージェントモード
- Vision (画像認識)
この記事では、Next Edit Suggestionsを掘り下げ、エディターにおけるAIによるコード補完の次なる進化について見ていきます。
Next Edit Suggestions (NES)
GitHub Copilotのコード補完(ゴーストテキストとも呼ばれます)は、オートコンプリートに非常に優れています。GitHub Copilotを操作していて最も素晴らしい感覚を味わえるのは、あなたが尋ねるまでもなく、頭の中にあったコードを提案してくれた時でしょう。しかし、ほとんどのコーディング作業は、新しいコード行を書くのと同じくらい、既存のコードを編集することを含みます。補完機能が既存のコードにも機能するようになるのは、自然な次のステップです。
私たちはこれをNext Edit Suggestions、略して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の「エディタープレビュー機能」の使用をオプトインする必要があります。
組織でのCopilotのポリシー管理について、さらに詳しく学ぶことができます。
シナリオ例
Copilot NESは、ファイルやプロジェクト全体に影響を及ぼす可能性のある変更を行う際のAIコンパニオンであり、さまざまなシナリオでその真価を発揮します。
間違いの発見と修正: 間違いはコードを書く上で自然なことであり、Copilot NESはそれらを発見するのを助けます(時には、間違いに気づく前に!)。
NESはタイポのような小さな間違いを助けます。例えば、素早く集中してコーディングしていて、const
の代わりにconts
と書いてしまった場合などです。
NESは、三項演算子が逆になっているなど、より難しいロジックの間違いも助けることができます。
私たちの開発チームはNESをセルフホスティングしており、このブログをまとめているときに、あるエンジニアがNESでの最初の「なるほど!」の瞬間を思い出しました。彼は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は急速に進化しており、私たちのリポジトリのIssueを通じて皆さんのフィードバックをいただくことを心待ちにしています。これは、体験を向上させる上で不可欠です。
最新の機能と修正をすべて利用するために、必ず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の画像のaltテキストを生成する。
- エラーのスクリーンショットを提供する。
Visionは現在VS Code Insidersで機能し、誰でも利用可能です。現時点でサポートされているモデルはGPT-4oのみで、他のモデルのサポートも進行中です。現在サポートされている画像形式は、JPEG/JPG、PNG、GIF、WEBPです。
新しい年、新しいCopilot
私たちはCopilotをAIペアプログラマーとして、誰もが無料で利用できるだけでなく、皆さんの生産性と幸福度を飛躍的に高めるためにAIができることの限界を常に押し広げるという大きな計画を持っています。
私たちはVS Code自体の改善を止めることはありませんので、最新の素晴らしい機能については、最近のリリースノートをご確認ください。私たちは、皆さんが可能な限り最高のコードエディターと最高のAIペアプログラマーを手に入れられるよう、断固として取り組んでいます。
AIの世界が急速に動いていることは承知していますので、X/Bluesky/LinkedInで私たちをフォローして、最新かつ最高のCopilot機能に関する情報を簡単に入手できるようにしてください。
楽しくコーディングしましょう!
Brigit and Burke