KI-getriebene Code-Editoren und -IDEs, Teil 1 Cursor – GPT im Visual-Studio-Code-Gewand

Von Mirco Lang 5 min Lesedauer

Anbieter zum Thema

Der Markt für IDEs und Code-Editoren ist seit jeher ziemlich umfangreich und ziemlich erwachsen. Der Markt für KI-Produkte ist zwar noch recht jung, aber dennoch – oder auch gerade deswegen – nicht minder unübersichtlich. Und jetzt kommt zunehmend beides zusammen.

Der ChatGPT-gestützte Cursor-Editor basiert auf Visual Studio Code.(Bild:  Lang / Anysphere)
Der ChatGPT-gestützte Cursor-Editor basiert auf Visual Studio Code.
(Bild: Lang / Anysphere)

Bislang gab es vor allem kleine KI-Helferlein oder KI-Plug-ins für traditionelle IDEs und Editoren wie etwa Visual Studio Code – man denke beispielsweise an den populären GitHub Copilot, der bereits seit zwei Jahren als Pair Programmer unter die Arme greift.

Nun drängen aber langsam auch die AI-First-Editoren auf ihren Anteil, zum Beispiel das Projekt Cursor. Dies ist ein Projekt des Start-ups Anysphere, das erst kürzlich 8 Millionen US-Dollar Kapital an Land gezogen hat – wenig überraschend von OpenAI. Das Unternehmen mit Sitz in San Francisco ist somit mit insgesamt 11 Millionen US-Dollar und OpenAI-Technologie auf eine solide Basis gestellt.

Der Cursor-Editor basiert auf Visual Studio Code. Allerdings handelt es sich um ein proprietäres Produkt. Zwar verweist die Homepage auf eine GitHub-Seite, welche allerdings nur zum Verarbeiten von Issues dient. Der Editor selbst steht kostenlos zur Verfügung, die AI-Features im kostenlosen Plan naturgemäß nur sehr bedingt.

Unentgeltlich sind 50 „langsame GPT-4“- und 200 GPT-3.5-Anfragen pro Monat inbegriffen. Für 20 US-Dollar (USD) im Monat erhält man 500 „schnelle GPT-4“-Anfragen sowie beliebig viele GPT-4- und GPT-3.5-Standard-Anfragen. Für 40 USD pro Nutzer und Monat gibt es dann zusätzlich zentralisierte Abrechnungen und bessere Datenschutz-Optionen. Eine Self-Hosting-Variante ist angekündigt.

Cursor-Features

Anysphere hat einige Kernprobleme veröffentlicht, die aufzeigen, wo die Reise hingeht:

  • Besserer Kontext: Berücksichtigung aller Informationen eines Projekts, vom Code über Snippets und verbundene Klassen sowie git-Historie bis hin zum Output von Lintern.
  • Copilot für Edits: Cursor soll nicht nur beim Schreiben von neuem Code helfen, sondern auch beim Editieren vorhandener Inhalte.
  • Debugging: Cursor fahndet eigenständig im Hintergrund und interaktiv zusammen mit den Nutzern nach Fehlern.
  • Große Edits: Üblicherweise sind KI-Helfer gut im Kleinen, Cursor soll auch große Änderungen über ganze Ordner hinweg realisieren.

Zudem soll Cursor künftig die kommenden 15 Minuten bevorstehender Arbeiten vorhersehen und per Klick sofort umsetzen, Code automatisch dokumentieren, Pseudo-Code in echten Code umsetzen und eigentlich immer im Hintergrund die eigenen Fehler fixen. Das klingt alles ambitioniert, aber wie sieht es Stand heute praktisch aus?

Cursor in der Praxis

Wer schon mal mit VS Code gearbeitet hat, wird sich sofort zurechtfinden, Cursor begrüßt Nutzer mit einer minimalistischen VS-Code-Ansicht. Es gibt keinen Einrichtungsaufwand, stattdessen fragt Cursor nach dem Start umgehend nach einer Projektbeschreibung -, die direkt als Anweisung verstanden wird. Und natürlich sollte man hier klein und bescheiden beginnen, erfahrungsgemäß artet die Zusammenarbeit mit KIs bei größeren Anfragen immer wieder Endlosschleifen aus.

Ein erster Versuch: „A Python script to show Philips Hue devices in simple tkinter windows.“ Die Anfrage ist offensichtlich schon recht speziell, da ein GUI-Toolkit vorgegeben wird. Da Python standardmäßig bereits tkinter unterstützt und hier lediglich ein simples Anzeigefenster (eine Message-Box) ein paar Hue-Geräte auflisten soll, ist das die einfachste Wahl.

Wer sich ausführlich über die Probleme mit GUI-Bibliotheken und KI-Programmierung informieren möchte, schaut in unser Selbst-Experiment „Browser-Bau mit ChatGPT“ hinein. Direkt nach der Projektbeschreibung legt Cursor mächtig los. Zunächst erscheint im Chat-Part ein Abriss des Projekts und Cursor legt direkt Dateien an:

  • requirements.txt: Abhängigkeiten sauber erfasst
  • gui.py: Fenster zum Anzeigen der Ergebnisse
  • main.py: Das Hauptprogramm

Man konnte dem Programm hier rund eine Minute zuschauen, wie eine Datei nach der anderen angelegt und gefüllt wurde – durchaus beeindruckend. Dass ein anschließender Testlauf nicht auf Anhieb funktionierte, dürfte jedoch klar sein. Einer der Gründe: Die phue-Bibliothek wurde zwar verwendet, einen Hinweis auf dessen Installation fehlte jedoch. Dennoch: Der Output hat auf Anhieb positiv überrascht.

Um nicht wieder in einer Dauerschleife festzustecken, sollte Cursor dann aber lieber seine Edit-Fähigkeiten zeigen und ein bereits existierendes und funktionierende Python-Skript zur Hue-Abfrage erweitern. Das bringt uns zu den beiden Hauptfunktionen der User Experience: Code-Generator und Chat.

Die generative KI von Cursor in Aktion.(Bild:  Lang / Anysphere)
Die generative KI von Cursor in Aktion.
(Bild: Lang / Anysphere)

Mit dem Shortcut STRG+K lassen sich im Quelltext jederzeit das Fenster für die generative KI öffnen, Anweisungen eingeben und direkt an Ort und Stelle Code erzeugen – passend zu dem markierten Code. Hier im Beispiel sollte das Skript nicht nur Name, Typ und Hersteller der Hue-Geräte anzeigen, sondern zusätzlich den jeweiligen Status:

Der neue Code und seine Auswirkungen.(Bild:  Lang / Anysphere)
Der neue Code und seine Auswirkungen.
(Bild: Lang / Anysphere)

Ein simples „add status“ hat tatsächlich auf Anhieb die nötigen Code-Zeilen hinzugefügt beziehungsweise aktualisiert. Wie in den Bildern zu sehen, wird der neue Code im Diff-Style angezeigt – Änderungen werden dann per STRG+ENTER übernommen. Viele KI-Werkzeuge neigen dazu, bei derlei Anfragen einfach große Mengen neuen Codes zu erzeugen, der erst mal manuell durchforstet werden wollen. Vorne das Ergebnis – und ein nettes Detail am Rande: Selbst erklärende Kommentare hat Cursor bereits eingefügt.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Cloud Computing

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Korrekturen können aus dem Chat übernommen werden.(Bild:  Lang / Anysphere)
Korrekturen können aus dem Chat übernommen werden.
(Bild: Lang / Anysphere)

STRG+L ruft hingegen den Chat auf und zeigt sehr gut, warum das Arbeiten mit Cursor sehr viel mehr Spaß macht als mit einem nackten ChatGPT.

Als „kleine“ Vorarbeit sollte Cursor den Python-Code zunächst mal nach AutoHotkey überführen – ein wenig Triezen muss an der Stelle sein. Für Cursor allerdings kein großes Problem, die AHK-Version war fast auf Anhieb korrekt. Wo sie es nicht war, durfte Cursor glänzen: Fehlermeldungen per Chat wurden korrekt interpretiert und die Korrektur ließ sich per Klick in den Quellcode übernehmen.

Eine Erwähnung wert ist noch ein drittes Feature. Für den AutoHotkey-Code hat Cursor abermals auf eine Bibliothek gesetzt, diesmal mit Hinweis auf deren Notwendigkeit samt Verwendungshinweisen. Da bietet es sich an, die Dokumentation solcher Bibliotheken zur Cursor-Wissensbasis hinzuzufügen. Das geht einfach über „@add new doc“ innerhalb des Chats oder des STRG+K-Dialogs. Fortan kann der Chat auch Fragen auf Basis der Dokumentation oder der Webseite der Bibliothek beantworten.

Vielversprechender Copilot

Wie bei generativer AI zu erwarten, läuft auch bei Cursor nicht alles glatt. Typische ChatGPT- Fails gibt es auch hier zu bewundern. Beispielsweise neigen beide Tools dazu, Code bisweilen in der falschen Reihenfolge einzufügen, Cursor wollte zum Beispiel Python-Funktionen nutzen, bevor sie definiert wurden. Auf Nachfrage weiß Cursor das auch und korrigiert entsprechend.

Dennoch ist die Arbeit mit Cursor deutlich freundlicher gestaltet. Die KI ist flüssig integriert, die Diff-Ansicht verhindert endloses Suchen und ungewollte Änderungen und das Erweitern der Wissensbasis ist wirklich vorbildlich gelöst.

Richtig eingesetzt, dürfte Cursor für alle Nutzergruppen hilfreich sein. Code-Veteranen werden einfache, langwierige Standardaufgaben auslagern können, Einsteiger müssen sich nicht mehr ständig mit Syntax und grundlegenden Konzepten befassen. Also mehr Entwicklung, weniger Coding, und weniger Lerneffekte.

Für einen vergleichsweise frühen Vertreter der AI-First-Generation hinterlässt Cursor jedenfalls einen erstaunlich guten Eindruck. Andererseits: Aus Nutzersicht fühlt es sich eigentlich nur an wie der gewohnte VSC-Editor mit einem gut integrierten ChatGPT.

(ID:49852164)