Heute möchte ich euch das Tool GitHub Copilot ein wenig näher vorstellen, welches sich derzeit noch in einer Technical Preview vorliegt und daher noch nicht für jeden einsetzbar ist. Bei GitHub Copilot handelt es sich um einen Service, welcher mit der Hilfe von künstlicher Intelligenz dabei helfen soll, Code schneller und mit weniger Aufwand zu schreiben. Dabei zieht GitHub Copilot aus Kommentaren oder Code-Fragmenten Rückschlüsse und schlägt einzelne Code-Zeilen oder ganzen Funktionen vor. Zu Beginn steht GitHub Copilot als Erweiterung für Visual Studio Code, Neovim und die IDEs von JetBrains zur Verfügung.
Zunächst muss man sich für die Technical Preview registrieren und damit in einer Warteliste Platz nehmen. Ich habe dann einige Zeit später eine eMail bekommen, dass ich nun Zugriff auf GitHub Copilot mit der Hilfe meines GitHub-Accounts habe. In diesem Beitrag zeige ich euch nun GitHub Copilot in Visual Studio Code. Dazu müssen wir Visual Studio Code öffnen und nach der Extension GitHub Copilot suchen und diese installieren.
Anschließend wird man direkt aufgefordert sich mit GitHub anzumelden. Dazu kann man auf den Button Sign in to GitHub klicken und meldet sich dann mit seinen GitHub-Credentials auf der Webseite an.
Nach der erfolgreichen Anmeldung müssen dann noch die Lizenzen mit einem Klick auf Agree bestätigt werden.
Nun ist es soweit und wir sehen am rechten unteren Bereich ein kleines zusätzliches Icon. Ich habe nun eine leere JavaScript-Datei angelegt und begonnen eine Funktion zu schreiben, welche die Anzahl der Tage zwischen zwei übergebenen Daten berechnen soll. Bereits nach einigen Millisekunden wird nun der vollständige Code für die Methode durch GitHub Copilot vorgeschlagen und kann durch das Drücken der Tab-Taste auch direkt übernommen werden.
Durch das Drücken von strg + eingabe öffnet sich ein weiterer Tab und zeigt verschiede Optionen für die passende Code-Stelle an, so dass man sich aus einer Vielzahl von Implementierungen die passende aussuchen kann.
Dies klappt natürlich nicht nur für JavaScript-Code, sondern für nahezu jede Programmiersprache. Hier mal die klassische Fibonacci-Folge in C#.
Auch das Berechnen der Fakultät ist kein Problem. Man muss aber nicht einen Methodenrumpf angeben, sondern kann auch einen Kommentar schreiben. So wollte ich gerne eine Methode, welche alle Zahlen zwischen 1 und n aufsummiert und hier wird die vollständige Methode inkl. Rückgabewert vorgeschlagen.
Eine ähnliche Funktionalität bietet nun auch Visual Studio 2022, welches am vergangenen Montag im Rahmen eines 6-stündigen Events veröffentlicht wurde. Allerdings werden hier nur einzelne Code-Zeilen vorgeschlagen und nicht direkt die vollständige Methode. Auf jeden Fall sollte man sich GitHub Copilot einmal anschauen, denn die Vorschläge sind an vielen Stellen schon hilfreich und auch echt schnell verfügbar. Man wird also in der Produktivität nicht gebremst, weil man auf den Service mit dem passenden Vorschlag warten muss. Gerade für Methoden, wie z.B. das Vergleichen von zwei Daten, lohnt es sich schon, denn ich habe solche Methoden öfters von einem Projekt ins nächste kopiert und somit kann man sich hier schon Zeit und Nerven sparen.