ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Einführung in Copilot Edits (Vorschau)

12. November 2024 von Isidor Nikolic

Bis vor Kurzem konnten Sie GitHub Copilot in VS Code auf zwei getrennte Arten nutzen. Sie konnten Code im Editor mithilfe von Vervollständigungen oder im Inline-Chat bearbeiten. Oder Sie konnten Copilot verwenden, um Fragen zu Ihrem Code in der Chat-Ansicht zu stellen. Copilot Edits, eine Vorschaufunktion, ist eine brandneue Art, Copilot in VS Code zu nutzen. Es kombiniert das Beste aus Chat und Inline-Chat: den konversationellen Fluss und die Möglichkeit, Inline-Änderungen an einer Reihe von Dateien vorzunehmen, die Sie verwalten. Und es funktioniert einfach.

Entwickelt für Iterationen über mehrere Dateien hinweg

In Copilot Edits geben Sie eine Reihe von Dateien an, die bearbeitet werden sollen, und bitten Copilot dann in natürlicher Sprache, was Sie benötigen. Copilot Edits nimmt Inline-Änderungen in Ihrem Arbeitsbereich vor, über mehrere Dateien hinweg, und verwendet eine Benutzeroberfläche, die für schnelle Iterationen ausgelegt ist. Sie bleiben im Fluss Ihres Codes, während Sie die vorgeschlagenen Änderungen überprüfen, das Angenommene übernehmen und mit Folgefragen iterieren.

Screenshot of the Copilot edits, and the proposed inline changes

Copilot Edits funktioniert, weil es Ihnen die Kontrolle gibt, von der Festlegung des richtigen Kontexts bis zur Annahme von Änderungen, und nicht, weil es sich auf ein fortschrittliches Modell verlässt, das nie einen Fehler macht. Und die Erfahrung ist iterativ: Wenn das Modell falsch liegt, können Sie Änderungen in mehreren Dateien überprüfen, gute Änderungen übernehmen und iterieren, bis Sie gemeinsam mit Copilot zur richtigen Lösung gelangen. Beim Akzeptieren von Änderungen können Sie den Code ausführen, um die Änderungen zu überprüfen, und bei Bedarf in Copilot Edits rückgängig machen, um zu einem früheren funktionierenden Zustand zurückzukehren.

Behalten Sie die Kontrolle

Es gibt ein neues UI-Konzept – das Working Set – das Ihnen die Kontrolle gibt und es Ihnen ermöglicht, zu definieren, auf welche Dateien die Bearbeitungen angewendet werden sollen. Sie können auch Dateien zum Working Set hinzufügen, indem Sie Dateien oder Editor-Tabs per Drag-and-Drop ziehen oder indem Sie # drücken, um sie explizit hinzuzufügen. Copilot Edits fügt Ihre aktiven Editoren über Editor-Gruppen hinweg automatisch zum Working Set hinzu.

Screenshot of the Working Set, showing the user adding index.js

Working Sets geben Ihnen zusammen mit der Undo- und Redo-Funktionalität präzise Kontrolle über Änderungen und ermöglichen es Ihnen, genau zu entscheiden, wo und wie Sie diese anwenden. Copilot Edits zeigt die generierten Bearbeitungen direkt in Ihrem Code an und bietet Ihnen einen Code-Review-Flow, bei dem Sie jede KI-generierte Bearbeitung annehmen oder verwerfen können. Copilot Edits nimmt keine Änderungen außerhalb des Working Sets vor – die einzige Ausnahme ist, wenn es das Erstellen einer neuen Datei vorschlägt.

Screenshot of the inline changes, showing the Accept / Discard widget

Copilot Edits befindet sich in der Secondary Side Bar (standardmäßig rechts), sodass Sie mit Ansichten in der Primary Side Bar interagieren können, wie z. B. dem Explorer, Debug oder der Source Control-Ansicht, während Sie vorgeschlagene Änderungen überprüfen. Sie können zum Beispiel Unit-Tests in der Testing-Ansicht auf der linken Seite ausführen, während Sie die Copilot Edits-Ansicht auf der rechten Seite verwenden, sodass Sie in jeder Iteration überprüfen können, ob die von Copilot Edits vorgeschlagenen Änderungen die Unit-Tests bestehen.

Die Verwendung Ihrer Stimme ist bei der Verwendung von Copilot Edits eine natürliche Erfahrung. Allein das Sprechen mit Copilot macht den Dialog reibungslos und konversationell. Es fühlt sich fast so an, als würde man mit einem Kollegen interagieren, der ein Fachexperte ist, und dabei den gleichen iterativen Fluss nutzen, den man auch im echten Pair-Programming anwenden würde.

Copilot Edits macht die Codebearbeitung mit KI für Benutzer mit unterschiedlichen Fähigkeiten zugänglich. Als Produktmanager bei Microsoft kann ich mit Copilot Edits schnell Ideen für frühe Entwürfe iterieren, ohne viel programmieren zu müssen. Für meine VS Code-Ingenieurkollegen hilft Copilot Edits ihnen, komplexe Refactorings über mehrere Dateien im vscode-Repository hinweg einfach zu erstellen. Zum Beispiel hat ein Teammitglied ohne Swift-Erfahrung eine benutzerdefinierte macOS-App von Grund auf neu mit Copilot Edits erstellt – nach jeder Iteration führte es die App aus, identifizierte, was nicht funktionierte, und gab Copilot Edits entsprechende Folgeanweisungen.

Unter der Haube

Copilot Edits nutzt eine Dual-Modell-Architektur, um die Effizienz und Genauigkeit der Bearbeitung zu verbessern. Zuerst betrachtet ein grundlegendes Sprachmodell den vollen Kontext der Edits-Sitzung, um erste Bearbeitungsvorschläge zu generieren. Sie können das grundlegende Sprachmodell wählen, das Sie bevorzugen, zwischen: GPT-4o, o1-preview, o1-mini und Claude 3.5 Sonnet. Für eine performante Erfahrung hat das Team einen spekulativen Decoding-Endpunkt entwickelt, der für die schnelle Anwendung von Änderungen in Dateien optimiert ist. Die vorgeschlagenen Bearbeitungen vom grundlegenden Modell werden an den spekulativen Decoding-Endpunkt gesendet, der dann diese Änderungen inline im Editor vorschlägt. Der spekulative Decoding-Endpunkt ist schneller als ein reguläres Modell, aber das Team weiß, dass er noch schneller sein kann und arbeitet daran, dies zu verbessern, also bleiben Sie dran.

Heute verfügbar

Copilot Edits ist in der Vorschau und heute für alle GitHub Copilot-Benutzer verfügbar! Das Feedback, das Sie in der Vergangenheit in #1 und #2 gegeben haben, war entscheidend für die Veröffentlichung dieser Funktion, also ein großes Dankeschön!

Für einen detaillierten Überblick über Copilot Edits lesen Sie bitte die offizielle Dokumentation.

Als Nächstes plant das Team, die Leistung des spekulativen Decoding-Endpunkts für das Anwenden von Änderungen zu verbessern, Übergänge von Copilot Chat zu Copilot Edits unter Beibehaltung des Kontexts zu unterstützen, Dateien für das Working Set vorzuschlagen und das Rückgängigmachen von vorgeschlagenen Blöcken zu ermöglichen. Wenn Sie zu den Ersten gehören möchten, die diese Verbesserungen erhalten, stellen Sie sicher, dass Sie VS Code Insiders und die Vorabversion der GitHub Copilot Chat-Erweiterung verwenden. Um zur Verbesserung der Funktion beizutragen, reichen Sie bitte Probleme in unserem Repository ein.

Letztendlich geht es nicht nur um Copilot Edits selbst, sondern darum, was es Ihnen beim Erstellen hilft.

Viel Spaß beim Codieren!

Isidor

© . This site is unofficial and not affiliated with Microsoft.