AI Assistant in JetBrains-IDEs

Read this post in other languages:

Update, 13. Juli: AI Assistant ist in den Vorabversionen verfügbar, wird aber nicht mit den stabilen Versionen von JetBrains IDEs v.2023.2 gebündelt. Er kann als separates Plugin installiert werden (Link folgt), das für die Versionen 2023.2.x verfügbar ist. Bitte beachten Sie, dass der Zugang zu AI Assistant derzeit durch eine Warteliste begrenzt sein kann.

Die in dieser Woche veröffentlichten EAP-Builds aller IntelliJ-basierten IDEs und .NET-Tools enthalten eine wichtige neue Funktion: AI Assistant. Dieser Blogartikel befasst sich mit unseren IntelliJ-basierten IDEs. Ein separater Artikel zu unseren .NET-Tools folgt demnächst.

Generative KI- und große Sprachmodelle verändern die Landschaft der Software-Entwicklungstools in rasantem Tempo, und es war absolut klar für uns, dass wir diese Technologie in unsere Produkte integrieren wollen. Unser Ansatz bei der Entwicklung der KI-Assistenzfunktion konzentriert sich auf zwei Hauptaspekte:

  • Einbindung der KI-Unterstützung in die wichtigsten Workflows innerhalb der IDE.
  • Tiefgehende Integration zwischen den KI-Funktionen und den Codeanalyse-Fähigkeiten, die schon immer eine Stärke der JetBrains-IDEs waren.

Die KI-Funktionen werden vom JetBrains AI Service bereitgestellt. Der Service bietet den Produktbenutzer*innen einen transparenten Zugang zu verschiedenen großen Sprachmodellen (large language models, LLMs) und ermöglicht spezielle KI-gestützte Funktionen in vielen JetBrains-Produkten. Zum Start unterstützt der Service OpenAI und bietet zusätzlich eine Reihe kleinerer Modelle, die von JetBrains erstellt wurden. In Zukunft wollen wir die Unterstützung auf weitere Anbieter ausweiten, um unseren Benutzer*innen Zugang zu den besten verfügbaren Optionen und Modellen zu gewähren.

Außerdem wollen wir lokale und On-Premises-Modelle unterstützen. Bei lokalen Modellen wird der Funktionsumfang voraussichtlich eingeschränkt sein.

KI-Funktionen

Die Funktionen im aktuellen EAP-Build bieten einen Ausblick auf die Richtung, in die wir uns bewegen:

KI-Chat

Im Toolfenster AI Assistant können Sie eine Unterhaltung mit dem LLM führen, Fragen stellen oder mehrere Iterationen einer Aufgabe ausführen lassen. Dabei stellt die IDE einen projektspezifischen Kontext bereit, z. B. die verwendeten Sprachen und Technologien. Wenn Sie mit dem Ergebnis zufrieden sind, können Sie den KI-generierten Code mit der Funktion Insert Snippet at Caret in den Editor einfügen oder einfach kopieren.

Um die KI zu einem bestimmten Codefragment zu befragen, markieren Sie den Abschnitt im Editor und rufen eine Aktion aus dem Menü AI Actions auf (das Menü ist im Kontextmenü des Editors oder über das Tastenkürzel Alt+Enter verfügbar). Mit der Aktion New chat using selection können Sie eine eigene Aufforderung oder Anfrage an die KI stellen. Je nach Bedarf stehen Ihnen zudem weitere Standard-Prompts für den AI Assistant zur Verfügung, zum Beispiel Explain code (Code erklären), Suggest refactoring (Refactoring vorschlagen) und Find potential problems (Potenzielle Probleme finden).

Generierung von Dokumentation

Wenn Sie eine Deklaration mit LLM-Unterstützung dokumentieren möchten, rufen Sie das Menü AI Actions auf und wählen Sie die Aktion Generate documentation. Unterstützt werden derzeit Java, Kotlin und Python.

Bei Java und Kotlin wird die Dokumentationsgenerierung vorgeschlagen, wenn Sie mit der Standardmethode – Eingabe von /** – einen Dokumentationskommentar-Stub erstellen. Die IDE generiert den statisch bekannten Teil des Kommentars (z. B. @param-Tags in Java), und die KI generiert den eigentlichen Dokumentationstext.

Namensvorschläge

Wenn Sie eine Java-, Kotlin- oder Python-Deklaration umbenennen, schlägt die KI anhand des Inhalts mögliche Namen für die Deklaration vor. Dies kann unter Settings | Tools | AI Assistant deaktiviert werden.

Generierung von Commit-Nachrichten

Der Dialog für Commit-Nachrichten verfügt jetzt über eine neue Schaltfläche Generate Commit Message with AI Assistant (Commit-Nachricht mit AI Assistant generieren). Klicken Sie darauf, um die Diffs Ihrer Änderungen an das LLM zu übermitteln, damit dieser eine Commit-Nachricht mit einer Beschreibung Ihrer Änderungen erzeugen kann.

 

Die Funktionen des AI Assistant können von Produkt zu Produkt unterschiedlich sein. Weitere Details zu den einzelnen Produkten finden Sie in diesen speziellen Beiträgen: CLionGoLandIntelliJPhpStormPyCharmReSharperRiderRubyMineWebStorm und Fleet.

Zugang zu KI-Funktionen

Um auf die KI-Funktionen zugreifen zu können, müssen Sie mit Ihrem JetBrains-Account beim JetBrains AI Service angemeldet sein. Sie können die Anmeldung im Toolfenster AI Assistant oder unter Settings | Tools | AI Assistant durchführen.

Bitte beachten Sie, dass der JetBrains AI Service möglicherweise nicht sofort für jeden zugänglich ist. Wir lassen zunächst eine begrenzte Anzahl von Benutzer*innen zu, und sobald die Kapazitätsgrenze erreicht ist, kommen weitere Anmeldungen auf eine Warteliste. In den kommenden Wochen werden wir nach und nach mehr Personen einladen, das Produkt zu testen.

Der Zugriff auf den KI-Service ist derzeit auf die Regionen beschränkt, in denen der OpenAI-Service verfügbar ist. Sie können die vollständige Liste der Regionen hier einsehen.

Während der EAP-Phase ist die Nutzung des KI-Dienstes kostenlos. Das Lizenz- und Preismodell wird zu einem späteren Zeitpunkt bekannt gegeben.

Umgang mit Ihrem Code und Ihren Daten

Wenn Sie KI-Funktionen verwenden, muss die IDE Ihre Anfragen und Ihren Code an den LLM-Anbieter senden. Zusätzlich zu den von Ihnen eingegebenen Anfragen kann die IDE weitere Informationen übermitteln, z. B. Codeabschnitte, Dateitypen, verwendete Frameworks und alle anderen Informationen, die als Kontext für das LLM benötigt werden.

Darüber hinaus führen EAP-Builds, die die KI-Assistenzfunktion enthalten, eine optionale Erfassung detaillierter Daten über die Nutzung der KI-Funktionen durch, einschließlich der vollständigen Kommunikation zwischen Ihnen und dem LLM (sowohl Text als auch Codefragmente). Diese Daten werden streng vertraulich behandelt und von JetBrains ausschließlich zur Verbesserung des Produkts verwendet. Sie werden auf keinen Fall an Dritte weitergegeben, nicht zum Training von ML-Modellen, die Code oder Text generieren, verwendet, und in keiner Form an andere Benutzer*innen weitergegeben. Die Option zur Steuerung der detaillierten Datenerfassung finden Sie unter Tools | AI Assistant | Data Sharing | Send AI Assistant usage statistics.

Weitere Informationen zu unseren Richtlinien für die Datenerfassung finden Sie auf unserer Website.

Feedback geben

In diesem Entwicklungsstadium ist es für uns äußerst wichtig, von Ihnen Feedback zu den neuen Funktionen zu erhalten – Erfolgsgeschichten, Situationen, in denen die KI nicht wie erwartet gehandelt hat, und Vorschläge für weitere Szenarien, in denen Sie KI-Unterstützung gebrauchen könnten. Bitte senden Sie uns Ihre Ideen und Vorschläge, indem Sie im Toolfenster AI Assistant auf Share feedback klicken, und bitte melden Sie Fehler in Verbindung mit dem AI Assistant in unserem YouTrack-Projekt. Danke!

Autor des Original-Blogposts:

Elizaveta Semakova

Dmitry Jemerov

image description

Discover more