Smart CodeInsight

Aus RAD Studio
Wechseln zu: Navigation, Suche

Smart CodeInsight ist eine offene Architektur, die es Ihnen ermöglicht, mit Ihren bevorzugten KI-Engines zu arbeiten. RAD Studio bietet neben den folgenden implementierten Features zudem eine anpassbare UI-Integration:

  • Eine Core-KI-Engine und ToolsAPI
  • IDE-Integration:
  • Unterstützung für Online- und Offline-LLM-Anbieter wie:
    • OpenAI, Gemini und Claude (online)
    • Ollama (offline)
      Tipp: Ollama wird als Open Source unter einer MIT-Lizenz vertrieben. Einzelne Modelle, die Sie möglicherweise mit Ollama verwenden, haben eigene Lizenzen. Sie finden die Nutzungsbedingungen für Codellama auf dieser Seite.
    • style="list-style: none; display: inline"
      
      Hinweis: Wenn Sie bevorzugt mit der ToolsAPI arbeiten, bietet RAD Studio die Möglichkeit, ein eigenes API-Plugin zu erstellen. Weitere Informationen dazu finden Sie auf der Seite KI-Plugin erstellen und implementieren.
Warnung: RAD Studio stellt keinen Zugriff auf diese Engines bereit. Für die Nutzung dieser KI-Dienste müssen Sie den Bedingungen des jeweiligen Anbieters zustimmen, einen API-Schlüssel für die Konfiguration von RAD Studio erhalten und die fälligen Gebühren an das KI-Unternehmen zahlen. Die einzige Ausnahme ist Ollama, das offline verwendet und lokal oder auf einem Server Ihrer Wahl installiert werden kann, ohne dass Gebühren für den Dienst anfallen.

Konfigurationsoptionen

RAD Studio ermöglicht eine erweiterte Konfiguration und vollständige Datenschutzkontrolle auf verschiedene Weise, um:

  • Das gesamte KI-Feature mit einer einzigen globalen Einstellung zu deaktivieren.
  • Jede der vier Engines zu aktivieren oder zu deaktivieren.
  • Die Standard-Engine der UI-Elemente (Chat- und Editor-Menü) auszuwählen.

Sie können all diese Features in den IDE-Optionen konfigurieren. Weitere Informationen zu diesem Thema finden Sie auf der Seite Konfiguration von Smart CodeInsight.

  • Zudem haben wir die folgenden Aktionen implementiert, um die Sicherheit in unserem System zu gewährleisten.
  • Wir speichern API-Schlüssel in einem verschlüsselten Format.
  • Wir bieten die Option, eine lokale Offline-Engine zu verwenden.

Editor-Menübefehle

Das Editor-Menü enthält einige voreingestellte Operationen für den im Editor ausgewählten Code. Das Ziel ist dabei, einen Teil des Quellcodes Ihrer Anwendung zu analysieren und zu optimieren.

Die LLM-Engine gibt das Ergebnis im Editor-Fenster als Kommentar nach dem analysierten Code zurück.

Verfügbare Befehle

Hier sind die für Smart CodeInsight verfügbaren Befehle:

Smart CodeInsight-Display.png

  • KI-Chat: Öffnet die Chat-Ansicht.
  • Fehler suchen: Sucht potenzielle Fehler im ausgewählten Code.
  • Code erklären: Erklärt den ausgewählten Code.
  • Kommentar hinzufügen: Fügt Kommentare zum ausgewählten Code hinzu.
  • Den Code vervollständigen: Vervollständigt den ausgewählten Code.
  • Code optimieren: Optimiert den ausgewählten Code.
  • Unit-Test hinzufügen: Fügt einen Unit-Test für den ausgewählten Code hinzu.
  • In Assembly konvertieren: Konvertiert den ausgewählten Code in Assembly-Code.
  • In Delphi konvertieren: Konvertiert den ausgewählten Code in Delphi-Code (von C++ oder Assembly).
  • In C++Builder konvertieren: Konvertiert den ausgewählten Code in C++Builder-Code.
  • Header suchen (KI) (in C++) oder Unit suchen (in Delphi): Fügt die fehlende Unit den uses-Anweisungen für eine ausgewählte Codeklasse oder einen Datentyp hinzu.
  • Ergebnisse im Editor anzeigen: Sendet die Ausgabe an den Editor.
  • Ergebnisse im Chatfenster anzeigen: Sendet die Ausgabe an das KI-Chatfenster im Markdown-Format.

RAD AI Companion

In RAD Studio wurde der webbasierte "RAD AI Companion" eingeführt, ein Chat- und Codegenerator, der insbesondere für auf RAD Studio bezogene Inhalte trainiert wurde. Aktivieren Sie den RAD AI Companion in der IDE über das Menü Hilfe > RAD AI Companion (EN).

KI-Chatfenster

Das KI-Chatfenster ist ein andockbares IDE-Formular, das sich wie ein beliebiges LLM-Chatfenster verhält. Sie können eine Anforderung eingeben, eine Engine auswählen (falls Sie nicht die Standard-Engine verwenden möchten) und auf die Antwort warten. Hier ist ein kurzes Beispiel:

Smat CodeInsight - ChatWindow Markdown.png

Dieses Chatfenster verfügt über eine Notizfunktion, die wie eine einfache Befehlszeile verwendet werden kann. Folgende Befehle stehen zur Verfügung:

  • chatgpt> + Eingabetaste: Wechselt zu ChatGpt als aktive KI-Engine (falls aktiviert).
  • gemini> + Eingabetaste: Wechselt zu Gemini als aktive KI-Engine (falls aktiviert).
  • claude> + Eingabetaste: Wechselt zu Claude als aktive KI-Engine (falls aktiviert).
  • ollama> + Eingabetaste: Wechselt zu Ollama als aktive KI-Engine (falls aktiviert).
  • clear> + Eingabetaste: Löscht die Antwort.
  • stop> + Eingabetaste: Beendet die Generierung von Antworten (entspricht dem Klicken auf die Schaltfläche "Stopp").
  • Strg + Eingabetaste: Beginnt die Generierung von Antworten (entspricht dem Klicken auf die Schaltfläche "Start").

Zusätzlich zum Durchführen von Standardabfragen können Sie ein bestimmtes Codefragment im Codefenster auswählen und eine neue Frage stellen oder eine Erklärung dazu anfordern, indem Sie die folgenden Befehle verwenden:

Smart CodeInsight-ExaplainCodeVariable.png

  • $COL: Erweitert die Nummer der Spalte, in der sich der Cursor im aktiven Quelltext-Editorfenster befindet.
  • $ROW: Erweitert die Nummer der Zeile, in der sich der Cursor im aktiven Quelltext-Editorfenster befindet.
  • $CURTOKEN: Erweitert das Wort, auf dem sich der Cursor im aktiven Quelltext-Editorfenster befindet. Dies ist hilfreich, wenn Sie sich auf die Variable, Methode oder den Bezeichner an der Cursorposition beziehen.
  • $EDNAME: Erweitert den vollständigen Dateinamen des aktiven Quelltext-Editorfensters. Dies ist hilfreich, wenn Sie den Namen der aktuellen Pfaddatei (mit Pfad) benötigen.
  • $SELECTION: Erklärt den im aktiven Editor ausgewählten Codetext.
  • $UNIT: Erklärt den Code im gesamten Inhalt der Unit.

Weitere Informationen und Beispiele finden Sie auf der Seite Transfermakros.

Siehe auch