Andrei - stock.adobe.com

GitHub Copilot Free mit Visual Studio 2022 einsetzen

GitHub Copilot Free unterstützt Entwickler beim Programmieren mit KI. Das Tool steht kostenlos zur Verfügung und funktioniert mit Visual Studio 2022 zusammen.

Entwickler, die mit Visual Studio 2022 arbeiten oder dies planen, sollten sich GitHub Copilot Free näher anschauen. GitHub Copilot ist als Erweiterung für Visual Studio 2022 verfügbar und unterstützt Entwickler bei Aufgaben innerhalb der Entwicklungsumgebung.

Die kostenlose Variante GitHub Copilot Free bietet bis zu 2.000 Codevervollständigungen und 50 Chatanfragen pro Monat. Damit lassen sich verschiedene Aspekte des Programmieralltags automatisieren oder beschleunigen, von der Codegenerierung über das Testen bis hin zur Fehlersuche und Performance-Analyse.

Die Integration in Visual Studio erfolgt tiefgreifend und an mehreren Stellen der Benutzeroberfläche. Die Aktivierung wird direkt in Visual Studio über den Copilot-Button vorgenommen. Es ist lediglich ein GitHub-Konto notwendig, eine Zahlungsinformation ist für die Nutzung der Free-Version nicht erforderlich.

Vorschläge, Ghost Text und automatische Ergänzungen

Eine grundlegende Funktion von Copilot ist die Codevervollständigung direkt im Editor. Während der Eingabe zeigt die Erweiterung kontextabhängige Vorschläge in Form von Ghost Text an. Diese lassen sich über die Tabulatortaste übernehmen oder mit Escape ignorieren. Grundlage für die Vorschläge sind sowohl der aktuelle Dateiinhalt als auch die übergeordneten Strukturen der Projektmappe.

Die Vorschläge beschränken sich nicht auf Syntaxbausteine, sondern können vollständige Funktionsblöcke oder Testmethoden enthalten. Die Funktion lässt sich gezielt für einzelne Dateitypen aktivieren oder deaktivieren, zum Beispiel für HTML, Markdown oder C#.

Inlinechat und Panel-Chat: zwei Wege zur Interaktion

Visual Studio stellt zwei Funktionen bereit, um Copilot über natürliche Sprache zu steuern. Der Inlinechat ist direkt mit dem Editor verbunden und ermöglicht die gezielte Analyse einzelner Codezeilen oder Blöcke. Anwender können den markierten Abschnitt kommentieren und mit einem Slash-Kommando versehen, zum Beispiel /explain, /fix oder /optimize. Auf diese Weise lassen sich Dokumentation, Korrekturen oder Lesbarkeitsverbesserungen anstoßen. Auch Slash-Kommandos wie /test oder /doc stehen bereit. Die Reaktion auf dieselben Kommandos kann je nach Kontext (Datei, Zeile, Projekt) unterschiedlich ausfallen.

GitHub Copilot Free Screenshot
Abbildung 1: GitHub Copilot lässt sich kostenlos im Webbrowser nutzen und als Erweiterung in Visual Studio integrieren.

Daneben gibt es den Panel-Chat, der unabhängig vom aktiven Editorfenster genutzt wird. Hier lassen sich allgemeinere oder projektübergreifende Fragen stellen. Beispiele dafür sind Abhängigkeiten, Dateistrukturen oder genutzten Bibliotheken. Durch den Zusatz @workspace oder #filename kann die Eingabe auf bestimmte Kontexte beschränkt werden. Auch Zeilenbereiche innerhalb von Dateien lassen sich direkt referenzieren, zum Beispiel mit /explain lines 8-10 in #program.cs. Die Chathistorie speichert alle Anfragen und lässt sich für wiederkehrende Aufgaben erneut verwenden.

Prompt Engineering: Qualität durch präzisere Eingaben

Die Qualität der Vorschläge hängt wesentlich von der Klarheit der Prompts ab. Copilot reagiert sensibel auf die Formulierung der Eingabe. Kurze, präzise und auf das Wesentliche reduzierte Fragen führen zu besseren Ergebnissen als vage oder zu allgemeine Aussagen. Die sogenannte 3-S-Regel – Single, Specific, Short – hat sich als praktikabel erwiesen.

Der Einsatz von Kommentarzeilen im Code als Eingabeaufforderung, insbesondere bei Funktionsdefinitionen, verbessert die Relevanz der Antworten. Auch die Kombination von Codebezug und Zielbeschreibung, zum Beispiel erstelle eine Testmethode für diese Funktion, trägt zur Effizienz bei. Prompts lassen sich zudem verfeinern, beispielsweise durch zusätzliche Referenz auf Datenquellen.

Fehlersuche und Debugging mit Copilot

Copilot ist nicht nur auf die Codegenerierung begrenzt, sondern unterstützt auch beim Debugging. Wird während einer Sitzung ein Fehler ausgelöst, analysiert die Erweiterung den Call Stack sowie die lokalen Variablen und liefert eine textbasierte Einschätzung der Ursache. Dies erfolgt direkt über das Tooltip oder die Exception-Hilfe, in der sich die Schaltfläche Ask Copilot befindet. Auch bei bedingten Breakpoints und Tracepoints kann Copilot Hinweise zur optimalen Nutzung geben oder Gründe analysieren, warum ein Breakpoint nicht ausgelöst wird.

Variablenwerte lassen sich während des Debuggens über die Autos-, Locals- oder Watch-Fenster analysieren. Die Funktion Analyze with Copilot liefert eine Begründung für den aktuellen Zustand und kann Vorschläge für Korrekturen anzeigen. Auch direkt im Exception-Dialog steht Copilot zur Verfügung, um Ursachen zu analysieren und Lösungsvorschläge zu liefern.

Unterstützung bei Tests und Fehlerbehandlung

Für Unit Tests kann Copilot vollständige Methoden vorschlagen. Dabei orientiert sich das Tool an der vorhandenen Codebasis und wählt passende Frameworks, wie xUnit oder Moq. Entwickler können den generierten Code direkt übernehmen oder nach Bedarf anpassen. Auch beim Beheben fehlgeschlagener Tests analysiert Copilot die Ursachen und schlägt Korrekturen vor, die sich nach Prüfung übernehmen lassen.

Über das Kontextmenü gescheiterter Tests lässt sich entweder Explain failure oder Debug with Copilot auswählen. Letzteres startet eine Debug-Sitzung mit automatisch gesetzten Breakpoints. Testmethoden können zudem mit konkreten Szenarien angereichert werden, zum Beispiel durch Prompts wie Erstelle einen Test für das Land Spanien.

Profiling und Performance-Analyse

Copilot lässt sich auch im Zusammenspiel mit den Profiler-Werkzeugen von Visual Studio nutzen. Bei einer Analyse mit dem CPU Usage Tool kann über Ask Copilot eine Zusammenfassung möglicher Performance-Probleme erstellt werden. Die Erweiterung liefert Optimierungsvorschläge auf Basis erkannter Muster und kann Details zu bestimmten Methoden oder Aufrufen analysieren.

Die Integration erlaubt es, direkt auf einzelne Codeabschnitte zuzugreifen, Verbesserungen vorzuschlagen und diese in der integrierten Entwicklungsumgebung (DIE) zu übernehmen. Auch Performance-Optimierungen bei Dateizugriffen oder Datenverarbeitungsschritten können automatisiert identifiziert werden.

Codeverständnis, Dokumentation und visuelle Hilfsmittel

Besonders bei der Arbeit mit fremdem oder komplexem Code ist die Funktion Describe with Copilot hilfreich. Sie erlaubt semantische Analysen von Methoden oder Klassen durch einfaches Überfahren des Elements im Editor. Alternativ lassen sich größere Abschnitte markieren und über den Inlinechat beschreiben.

Die generierten Erklärungen können als Ausgangspunkt für eine Dokumentation dienen oder helfen, sich schneller in bestehende Strukturen einzuarbeiten. Die Slash-Kommandos /doc oder /explain dienen der automatischen Dokumentation oder der Beschreibung von Codeabschnitten. Entwickler erhalten Textzusammenfassungen, die sich anschließend weiterverwenden oder überarbeiten lassen.

Darüber hinaus lassen sich visuelle Hilfsmittel wie Mermaid-Diagramme erzeugen. Über die Teilnehmerfunktion @mermaid kann Copilot aus strukturiertem Code automatisch Klassendiagramme oder ER-Modelle generieren. Diese lassen sich direkt in Markdown-Dateien einfügen und im Editor anzeigen.

Integration in Versionskontrolle und Review-Prozesse

Copilot kann Commit-Nachrichten und Pull-Request-Beschreibungen automatisch erzeugen. Die Generierung erfolgt auf Basis der erkannten Änderungen. In den Einstellungen lassen sich Formatvorgaben definieren, zum Beispiel die Einbindung von Emojis, eine strukturierte Gliederung oder Signaturen. Auch Pull-Request-Zusammenfassungen lassen sich im Review-Prozess durch Copilot vorbereiten und bei Bedarf manuell verfeinern.

Die Funktion Review Changes analysiert den aktuellen Stand der Änderungen im Projekt und liefert Rückmeldungen zur Codequalität. Zusätzlich lassen sich eigene Commit-Vorlagen hinterlegen und von Copilot mit strukturierten Stichpunkten füllen.

Copilot Edits: Änderungen über mehrere Dateien hinweg verwalten

Mit Copilot Edits können Entwickler komplexere Anpassungen über mehrere Dateien hinweg umsetzen. Die Funktion ist über das Bearbeiten-Symbol im Chatfenster erreichbar und erlaubt die Beschreibung von Aufgaben wie Füge eine neue Löschfunktion auf der Bearbeiten-Seite hinzu oder Ändere das Layout der Seite XY. Copilot analysiert die relevanten Dateien und bietet konkrete Änderungsvorschläge, die sich vorab anzeigen und selektiv übernehmen lassen. Die Bearbeitungsschritte sind nachvollziehbar und lassen sich bei Bedarf rückgängig machen oder einzeln anwenden.

Erweiterte Konfiguration und Teilnehmerfunktionen

Die Erweiterung unterstützt verschiedene Sprachmodelle. In der Free-Version stehen unter anderem GPT-4 und Claude 3.5 Sonnet zur Auswahl. Anwender können das Modell pro Sitzung oder Prompt wechseln, auch direkt innerhalb des Editors bei Nutzung der Tastenkombination ALT + /.

Teilnehmerfunktionen ermöglichen eine kontextgenaue Steuerung. Mit @terminal lassen sich Fragen auf die Kommandozeile eingrenzen, mit @vscode auf Editorfunktionen, mit @workspace auf das Projekt. Auch @voice steht zur Verfügung, um Eingaben per Sprache zu machen. Zudem lässt sich der Chatverlauf in Threads gliedern, durchsuchen oder gezielt zurücksetzen, falls Antworten fehlerhaft oder festgefahren sind.

Erfahren Sie mehr über Softwareentwicklung