Lernpfad
Gemini Code Assist: Ein Leitfaden mit Beispielen
In letzter Zeit gibt es immer mehr Open-Source-Modelle, und wenn es um die Bearbeitung von Code geht, sind Akteure wie Cursor AI und GitHub Copilot ihre KI-Code-Assistenten kostenlos ausprobieren, aber wir stoßen schnell auf eine Bezahlschranke, wenn wir sie für ein echtes Projekt nutzen wollen.
Gemini Code Assist, der KI-Code-Assistent von Google, hat gerade seine eigene, sehr großzügige kostenlose Stufe bekommen. Sie kommt in Form von Visual Studio Code und JetBrains-Erweiterungen.
In diesem Tutorial lernen wir, wie man es in Visual Studio Code einrichtet und wie man es mit einigen praktischen Beispielen verwendet.
KI-Anwendungen entwickeln
Was sind KI-Code-Assistenten?
KI-Code-Assistenten nutzen KI, um Entwicklern dabei zu helfen, effizienter zu programmieren, indem sie Code-Schnipsel vorschlagen, sich wiederholende Aufgaben automatisieren und Korrekturen in Echtzeit in Programmierumgebungen wie Visual Studio Code anbieten. So können Entwickler/innen weniger Zeit mit Routineaufgaben und mehr mit komplexer und kreativer Arbeit verbringen.
Chatbots können zwar bei Programmieraufgaben helfen, aber sie können umständlich sein, weil sie zwischen der IDE und der KI-Plattform hin- und herwechseln müssen, was viel Kopieren und Einfügen von Code bedeutet.
KI-Code-Assistenten werden direkt in die Programmierumgebung integriert. So können sie unseren Programmierkontext erkennen und müssen nicht explizit Codeschnipsel bereitstellen, wenn wir Fragen stellen. Außerdem können die Code-Assistenten den Code direkt ändern, so dass Änderungen viel schneller integriert werden können.
Wie installiert man Gemini Code Assist?
In diesem Lernprogramm werden wir Gemini Code Assist zusammen mit Visual Studio Code verwenden. Gemini Code Assist ist eine Visual Studio-Erweiterung. Wir können sie also wie jede andere Erweiterung installieren:
- Klicke auf die Registerkarte "Erweiterungen" im linken Bereich.
- Gib "gemini code assist" in das Suchfeld ein.
- Klicke auf die Schaltfläche "Installieren".
Nach der Installation wird die Registerkarte Gemini auf der linken Seite angezeigt. Um den Code-Assistenten zu nutzen, klicke auf den Reiter mit dem Gemini-Logo und melde dich mit deinem Google-Konto an.
Testen von Gemini Code Assist
Um Gemini Code Assist zu testen, habe ich beschlossen, einen aktuellen Datensatz von Spotify-Songs mit Python zu analysieren. Der von mir verwendete Datensatz stammt von Kaggle und ist verfügbar hier.
Um loszulegen, erstelle einen Ordner und entpacke die Datei songs.csv
in diesen Ordner. Öffne dann den Ordner in Visual Studio Code. Der Plan ist, ohne Code zu beginnen und Gemini Code Assist alles für uns schreiben zu lassen.
Erste Schritte
In der ersten Aufforderung bat ich darum, eine Python-Funktion zu erstellen, die die Daten in einen pandas
DataFrame lädt.
Normalerweise funktioniert der Code-Assistent so, dass er den bestehenden Code ändert und uns eine Differenz mit den neuen Änderungen anzeigt. Da es in diesem Fall noch keinen Code gibt, können wir ihn bitten, eine neue Datei mit dem vorgeschlagenen Code zu erstellen, indem wir auf die letzte Schaltfläche in der oberen rechten Ecke des Code Close im Chatfenster klicken.
Anschließend benennen wir die Datei in songs.py
um.
Den Code ausführen
Wir können den Code über das integrierte Terminal in Visual Studio Code mit dem Befehl ausführen:
python songs.py
In diesem Fall erhalten wir einen Fehler:
ModuleNotFoundError: No module named 'pandas'
Das liegt daran, dass das Skript songs.py
versucht, pandas
zu verwenden, das nicht installiert ist. Dies ist die perfekte Gelegenheit, um zu überprüfen, ob Gemini Code Assist das Terminal in Visual Studio Code kennt oder nicht.
Ich bat ihn, mir zu erklären, wie ich den Fehler im Terminal beheben kann. Leider gab er eine allgemeine Antwort, die zeigte, dass er nicht in der Lage war, auf die Terminalausgabe zuzugreifen. Die Alternative ist, den Fehlertext zu kopieren und in den KI-Chat einzufügen, was ein bisschen umständlicher ist. Aber natürlich erhalten wir dabei die richtige Antwort, dass wir den Befehl pip install pandas
im Terminal ausführen müssen.
Das ist eine unglückliche Einschränkung, denn als Softwareentwickler ist das Stellen von Fragen zu einem Fehler, den ich im Terminal sehe, einer der häufigsten Fälle, in denen ich KI verwende.
Nachdem wir pandas
installiert haben, können wir den Code erfolgreich ausführen.
Generische Fragen stellen
Gemini Code Assist ist nicht auf Fragen zur Codierung beschränkt. Wir können auch allgemeine Fragen oder datenbezogene Fragen stellen. Um einen Überblick über die Daten in der Datei songs.csv
zu bekommen, bitten wir das Programm, alle Spalten aufzulisten:
In der Antwort hat er eine Funktion erstellt, die die Spalten auflistet, aber er hat auch direkt in der Antwort eine Liste angezeigt:
Bei der Verwendung von Gemini Code Assist hatte ich oft das Gefühl, dass es Schwierigkeiten hatte, zwischen einer allgemeinen Frage, die nur eine textuelle Antwort erfordert, und dem Wunsch, Code zu schreiben, zu unterscheiden. Das ist ein kleines Problem, weil wir den Code-Teil ignorieren können, aber es macht den Chat ziemlich unübersichtlich.
Neue Funktionalitäten beantragen
Aus der vorherigen Antwort geht hervor, dass es eine Spalte track_popularity
gibt. Lass uns Gemini Code Assist bitten, eine neue Funktion zu implementieren, die das beliebteste Lied ermittelt.
Wenn Gemini Code Assist Code in der Antwort schreibt, wird die Funktion nicht automatisch in unseren Code integriert. Dazu klicken wir auf die Doppelpfeil-Schaltfläche "Diff mit offener Datei". Vergewissere dich vor dem Klicken, dass die Datei, zu der die Änderungen gehören, die aktuell im Editor geöffnete Datei ist; andernfalls werden die Änderungen in der falschen Datei zusammengeführt.
Nachdem du den Knopf gedrückt hast, siehst du einen Diff. Auf der linken Seite sehen wir den aktuellen Zustand des Codes und auf der rechten Seite den neuen Zustand. Die rot hervorgehobenen Zeilen sind die Zeilen, die gestrichen oder geändert werden, während die gelb hervorgehobenen Zeilen die Ergänzungen oder Änderungen sind.
Wir können uns die Bildlaufleiste auf der rechten Seite ansehen, um diese Änderungen zu finden. Oft gibt es mehrere Stellen in der Datei, die geändert werden müssen, und es ist wichtig, dass du sie dir alle ansiehst, bevor du die Änderungen akzeptierst.
Wenn du mit der Maus über eine Änderung fährst, siehst du einen Pfeil in der Mitte:
Ich finde das Symbol unintuitiv, aber wenn du auf diesen Pfeil klickst, kannst du angeben, dass wir die betreffende Änderungnicht übernehmen wollen. Nachdem wir uns für einen entschieden haben, können wir den neuen Code einfügen, indem wir oben auf die Schaltfläche "Akzeptieren" klicken.
Autocomplete
Bis jetzt haben wir mit Gemini Code Assist über den KI-Chat interagiert. Das ist schon jetzt ein viel besserer Arbeitsablauf als das Kopieren und Einfügen von Code zwischen einer KI-Plattform und dem Code-Editor, weil alles im selben Fenster integriert ist und wir den Unterschied sehen, was es einfach macht, die neuen Änderungen zu erkennen. Das ist aber noch nicht alles, was Code Assist kann.
Während wir Code schreiben, analysiert der Assistent, was wir schreiben, und macht uns Codevorschläge, die wir auf Knopfdruck integrieren können.
Die Spalte track_popularity
im Datensatz speichert die Popularität eines Lernpfads. Schreiben wir eine Funktion, die die Popularität der Songs eines bestimmten Künstlers anzeigt, sortiert nach ihrem Veröffentlichungsdatum. Wir können die track_album_release_date
zum Sortieren verwenden.
Währendwir die Funktion schreiben, schlägt Gemini Code Assist automatische Vervollständigungen vor. Wenn wir mit dem Schreiben der Funktionssignatur beginnen, errät Gemini Code Assist anhand des Funktionsnamens, was wir wollen:
Um einen Vorschlag einzubinden, drücken wir einfach die Tabulator-Taste auf der Tastatur. Als Nächstes wollen wir eine Kopie des DataFrames erstellen, die nur die Lieder des jeweiligen Künstlers enthält:
Manchmal ist der Code-Vorschlag nicht das, was wir wollen. In diesem Fall müssen wir immer noch manuell schreiben, was wir wollen, oder, wenn es nahe genug ist, es akzeptieren und dann bearbeiten. In diesem Beispiel ist der nächste Schritt die Umwandlung von track_album_release_date
in ein Datumsformat. Aus irgendeinem Grund will Gemini Code Assist jedoch nur das Erscheinungsjahr abfragen, also habe ich die Zeile manuell geschrieben.
Als nächstes möchte ich die Lieder nach Datum sortieren:
Zum Schluss gebe ich die Beliebtheitswerte zurück:
Spezifischen Code anvisieren
Wir können einen bestimmten Code anvisieren, indem wir ihn zuerst im Editor auswählen. Wenn du einen Code auswählst, werden dir automatisch ein paar Vorschläge gemacht, z. B. "Erkläre das" oder "Erstelle Unit-Tests".
Die Möglichkeit, einen Codeschnipsel auszuwählen und zu fragen, was er tut oder wie er funktioniert, ist sehr nützlich, wenn man sich in eine neue Codebasis einarbeitet. Ich habe festgestellt, dass dies oft der schwierigste Schritt bei der Arbeit an einem neuen Produkt mit einer bestehenden Codebasis ist.
Wir können ihn auch bitten, den Code mit einer benutzerdefinierten Aufforderung zu ändern. Wir können sie zum Beispiel bitten, die Funktion analyze_artist_popularity_over_time()
zu verbessern, die wir gerade erstellt haben:
In diesem Fall hat sie die Funktion verbessert, indem sie einige Prüfungen hinzugefügt hat, um Fehler zu vermeiden.
Beschränkungen des kostenlosen Plans
Der kostenlose Plan von Gemini Code Assist für Einzelpersonen hat einige Einschränkungen im Vergleich zu den Plänen Standard und Enterprise:
- Begrenzte Anpassungsmöglichkeiten und Integration: Der kostenlose Plan erlaubt es dir nicht, deine privaten Quellcode-Repositories für individuelle Code-Vorschläge zu verbinden, was im Enterprise-Plan möglich ist.
- Zugang zum Feature: Bestimmte fortgeschrittene Funktionen in Gemini for Firebase und Apigee sowie die fortgeschrittene KI-gestützte Automatisierung in Application Integration sind nur in den Tarifen Standard und Enterprise verfügbar.
- Sicherheit und Compliance: Dem kostenlosen Plan fehlen Sicherheitsfunktionen und Management-Tools auf Unternehmensniveau sowie die IP-Entschädigung, die in den Standard- und Enterprise-Angeboten enthalten sind.
- Einsatzgrenzen: Der kostenlose Plan bietet ein tägliches Limit von 6.000 codebezogenen Anfragen und 240 Chat-Anfragen, was für die individuelle Nutzung ausreichend sein mag, aber für größere Teamprojekte einschränkend sein könnte.
- Enterprise-Funktionen und -Support: Die Enterprise-Kontextfunktionen für die Erstellung von APIs und die erweiterte Analyse der App-Qualität sind im kostenlosen Plan nicht verfügbar.
Weitere Details findest du auf der Website von Gemini Code Assist.
Meine Eindrücke von Gemini Code Assist
Ich finde, Gemini Code Assist funktioniert insgesamt recht gut. Meiner Erfahrung nach funktioniert es ähnlich wie seine Hauptkonkurrenten Cursor und Copilot. Für ein kostenloses Tool ist das wirklich beeindruckend. Die kostenlose Version unterstützt bis zu 6.000 codebezogene Anfragen und 240 Chat-Anfragen pro Tag. Das sollte für die meisten Programmierer mehr als genug sein.
Eine weitere interessante Funktion, die wir hier noch nicht erwähnt haben, ist die Integration von GitHub. Gemini Code Assist für GitHub hilft, indem es Pull Requests überprüft, um Fehler und Stilprobleme zu finden und automatisch Codeänderungen und -korrekturen vorzuschlagen. So können sich die Entwickler mehr auf das Schreiben von Code konzentrieren. Wenn du Hilfe brauchst, kannst du Gemini fragen, indem du einen Kommentar in deinem Pull Request hinterlässt.
Ein Problem, das ich festgestellt habe, ist, dass es mit vergangenen Anfragen ein wenig zu kämpfen hat. Ich habe mich oft dabei ertappt, dass ich um Änderungen gebeten habe und mich dann für eine andere Richtung entschieden habe. In späteren Iterationen wollte es diese Änderungen jedoch immer wieder integrieren. Ein Beispiel dafür ist die Funktion, die wir geschrieben haben, um die Popularität eines Lernpfads im Laufe der Zeit anzuzeigen. Ursprünglich wollte ich mit diesen Daten ein Diagramm erstellen, habe es mir dann aber anders überlegt. Allerdings wurde der Code für die Darstellung dieser Daten immer wieder zu zukünftigen, nicht verwandten Anfragen hinzugefügt, was ein bisschen ärgerlich war.
Die Gefahren von Code-Assistenten
In letzter Zeit haben immer mehr Programmierer ihre Bedenken geäußert, wie zum Beispiel in diesem Reddit-Threaddarüber, dass die Verwendung von Code-Assistenten wie Cursor oder Copilot dazu führt, dass sie langsam vergessen, wie man Code schreibt.
Es besteht kein Zweifel daran, dass diese Tools einen unglaublichen Produktivitätsschub bringen und dass wir, wenn wir sie nicht nutzen, im Vergleich zu unseren Mitbewerbern im Nachteil sind. Ich denke jedoch, dass alles im Leben ein Gleichgewicht erfordert, und wenn es um KI-Codierungstools geht, tappt man leicht in die Falle, den Code, der uns gegeben wird, blind zu akzeptieren. Zumindest sollten wir uns die Zeit nehmen, zu lesen und zu verstehen, was sie bewirkt.
Die Verwendung der Code-Vervollständigung scheint auch ein besserer Mittelweg zu sein, denn wir müssen zumindest damit beginnen, etwas zu schreiben, um das Muskelgedächtnis zu bewahren und zu verhindern, dass sich Programmierer zu sehr auf KI-Tools verlassen. Die Code-Vervollständigung liefert auch eher kleinere Code-Bausteine, die leichter zu verdauen sind.
Fazit
KI-Tools werden ständig weiterentwickelt, die Kosten sinken und die Zugänglichkeit steigt. Gemini Code Assist veranschaulicht diesen Trend, indem es ein robustes KI-Hilfstool für Code kostenlos anbietet.
Diese Initiative von Google senkt die Einstiegshürde für Entwickler/innen und ermöglicht es praktisch jedem/r, leistungsstarke KI-Unterstützung bei seinen/ihren Programmieraufgaben zu nutzen. Besonders lobenswert ist, dass Gemini Code Assist Funktionen bietet, die mit kostenpflichtigen Diensten wie Cursor und Copilot gleichwertig oder sogar konkurrenzfähig sind. Mit bis zu 6.000 codebezogenen Anfragen und 240 Chat-Anfragen täglich bietet es mehr als genug Unterstützung für einzelne Entwickler oder kleine Projekte.
Lerne KI mit diesen Kursen!
Kurs
Retrieval Augmented Generation (RAG) mit LangChain
Lernpfad
Lama-Grundlagen
Der Blog
Top 30 Generative KI Interview Fragen und Antworten für 2024

Hesam Sheikh Hassani
15 Min.

Der Blog
Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn
Der Blog
Q2 2023 DataCamp Donates Digest
Der Blog
Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Nisha Arya Ahmed
20 Min.
Der Blog