Code-Vorschläge erhalten

watsonx Code Assistant

Generieren Sie Code-Vorschläge, indem Sie Chat-Unterhaltungen nutzen oder den Code im Editor vervollständigen.

Chat-Unterhaltungen verwenden

Geben Sie eine Eingabeaufforderung ein, in der der benötigte Code erklärt wird, und watsonx Code Assistant generiert einen Code, den Sie verwenden können.

  1. Um einen neuen Chat zu beginnen, klicken Sie auf das Symbol für einen neuen Chat Neuer Chat.
  2. Stellen Sie eine Frage oder geben Sie eine Anweisung.
  3. Klicken Sie auf das Symbol „Senden “ Senden. Watsonx Code Assistant sendet Ihre Eingabe an das Codemodell und zeigt die Antwort im Chat an.

Wählen Sie die Nachricht aus, bei der watsonx Code Assistant das letzte Mal ein gutes Ergebnis erzielt hat, und setzen Sie das Chat-Gespräch von dort aus in einem neuen Chat fort.

  1. Um eine frühere oder eine vorhandene Nachricht in einem neuen Chat zu verwenden, klicken Sie auf das Symbol Neuen Chat starten Neuen Chat starten.
  2. Stellen Sie eine Frage oder geben Sie eine Anweisung.
  3. Klicken Sie auf das Symbol „Senden “ Senden. Watsonx Code Assistant sendet Ihre Eingabe an das Codemodell und zeigt die Antwort im Chat an.

Code zwischen Chat und Editor übertragen

Wenn Sie einen Code-Vorschlag erhalten, den Sie verwenden möchten, können Sie einen Code-Block aus dem Chat in Ihren Editor einfügen.

  1. Positionieren Sie den Cursor im Editor.
  2. Klicken Sie im Chat auf das Symbol Am Cursor einfügen.

Wenn Sie Code im Editor haben, den Sie als Kontext im Chat verwenden möchten, können Sie den Code in den Chat kopieren.

  1. Markieren Sie den Code im Editor.
  2. Klicken Sie mit der rechten Maustaste, um das Popup-Menü anzuzeigen.
  3. Wählen Sie watsonx Code Assistant.
  4. Wählen Sie "Ausgewählten Code zum Chat hinzufügen ".

Natürliche Sprache verwenden

Jede Chat-Nachricht ist Teil eines Chat-Gesprächs. Konzentrieren Sie sich bei Gesprächen auf ein bestimmtes Thema oder eine bestimmte Aufgabe. Wenn Sie Ihren Kontext auf eine andere Programmiersprache, ein anderes Projekt in Ihrem Arbeitsbereich oder eine andere Programmieraufgabe ändern, erstellen Sie eine neue Chat-Konversation. Sie erhalten mehr relevante Ergebnisse für Ihre Fragen.

Beispiele:

  • Create a Python class Customer. Include attributes for firstName, lastName and age.
  • Create a JavaScript function that fetches data from a REST API endpoint, dynamically populates an HTML table with the results, and updates the UI asynchronously

Verwendung der Prompt-Bibliothek

{{{site.data.keyword.wca_short_cap}} enthält eine Prompt-Bibliothek, die eine Reihe gängiger, natürlichsprachlicher Kodierungsanforderungen enthält. Sie können sie so wie sie sind in Ihrem Chat verwenden oder sie für Ihren Anwendungsfall abändern.

So greifen Sie auf die Prompt-Bibliothek zu:

  1. Klicken Sie auf das Symbol Menü öffnen Menü öffnen.
  2. Klicken Sie auf Prompt-Bibliothek, um sie zu öffnen.
  3. Klicken Sie auf das Symbol In die Zwischenablage kopieren In die Zwischenablage kopieren.
  4. Klicken Sie erneut auf Prompt-Bibliothek, um sie zu schließen.
  5. Fügen Sie die Eingabeaufforderung in den Chat ein.

Wirkungsvolle Chat-Nachrichten schreiben

So erzielen Sie die besten Ergebnisse in Ihrem Gespräch:

  • Schreiben Sie Ihre Chat-Nachrichten auf Englisch.
  • Beginnen Sie mit einer einfachen und klaren Anweisung.
  • Verwenden Sie die nachfolgenden Chatnachrichten, um die Codeausgabe des Modells zu verfeinern.
  • Gehen Sie bei jedem Schritt so genau und detailliert wie möglich vor. Sie können den erstellten Code durch weitere Chatnachrichten schrittweise verbessern.
  • Verwenden Sie Datei- und Methodenverweise in Ihrer Nachricht, um einen relevanten Kontext zu liefern. Wenn Sie beispielsweise möchten, dass das Modell eine Methode erstellt, die einer anderen Methode ähnelt, fügen Sie " similar to @<method> zu Ihrer Nachricht hinzu.
  • Wenn Sie feststellen, dass die Antworten weniger relevant werden, oder wenn Sie eine neue Aufgabe beginnen, erstellen Sie eine neue Chat-Konversation und arbeiten Sie von dort aus weiter. Es ist besser, viele kurze Chatgespräche zu führen, die jeweils einen bestimmten Kontext haben, als ein einziges großes Gespräch, das das Modell mit verschiedenen, nicht zusammenhängenden Chatnachrichten verwirren könnte.

Verweis auf Code in Ihrem Arbeitsbereich

Um Fragen zu stellen oder eine bestimmte Datei, Klasse, Funktion oder Methode in Ihrem lokalen Arbeitsbereich zu verfeinern, können Sie eine Code-Referenz verwenden. Diese Hinweise liefern wichtige Informationen und können dazu beitragen, die Genauigkeit der Antwort zu erhöhen.

  1. Geben Sie das Symbol " @ als Teil Ihrer Chat-Nachricht ein, um eine Liste der Dateien, Klassen und Methoden Ihres Arbeitsbereichs anzuzeigen.
  2. Filtern Sie die Liste, indem Sie die Zeichen des Datei-, Klassen- oder Methodennamens eingeben, auf den Sie verweisen möchten.
  3. Klicken Sie auf , um den Verweis auszuwählen. { Watsonx Code Assistant Inhalt des Verweises wird als Teil Ihrer Nachricht gesendet.

Einträge in .gitignore sind nicht als Code-Referenzwahlen enthalten. Wenn Sie über sensible Daten verfügen, wie z. B. .env Dateien, sollten Sie diese zu .gitignore hinzufügen.

Wenn Sie einen lokalen Arbeitsbereichsordner öffnen, erstellt watsonx Code Assistant einen Index dieser Elemente im Speicher, damit Sie im Chat auf diese Dateien und Funktionen verweisen können. Ihr Editor indiziert auch Dateien, die Sie während Ihrer Sitzung hinzufügen oder ändern. Der Index enthält bis zu 1.000 der neuesten Dateien in diesen Programmiersprachen:

  • C
  • C++
  • Los
  • Java
  • JavaScript
  • Python
  • TypeScript

Die Dateiindizierung funktioniert nur auf lokalen Speichermedien.

Wenn Sie eine Methode referenzieren oder CodeLens für eine Methode verwenden, unterstützt watsonx Code Assistant bestimmte Code-Sprachen. Der Verweis auf eine vollständige Datei funktioniert in allen Sprachen. Weitere Informationen finden Sie unter Sprachunterstützung bei der Arbeit mit Methoden.

Wenn Sie eine Datei referenzieren, ist die Größe auf 50 KB begrenzt. Wenn Sie diese Grenze erreichen, teilen Sie die Datei in einzelne Funktionen auf und verweisen auf jede Funktion. Oder Sie teilen die Datei bei 49 KB auf, wobei Sie auf die Funktionsgrenzen achten, und verweisen bei jeder Teilung auf die Datei. Bei beiden Ansätzen müssen Sie die Ergebnisse zusammenführen.

Anwendungsfälle mit Beispielen, die auf Code verweisen:

Chat-Nachrichten, die auf Code verweisen
Anwendungsfall Beispielnachricht
Erzeugen einer Funktion auf der Grundlage einer vorhandenen Funktion Erstellen Sie eine Methode ' send_translate_message, die ähnlich wie @send_code_explanation_message ist
Generierung eines Einheitstests, der auf bestehenden Einheitstests aufbaut Erstellen Sie einen Einheitstest für @getName, der den Einheitstests in @testLoadTablesChildConnectionReceiverJob.h ähnlich ist
Bestehende Funktionen erweitern Hinzufügen von Fehlerbehandlung und Log-Anweisungen zu @format_documents
Bestehende Funktionen erweitern Update @setEmail mit Fehlerbehandlung für Null-Strings
Code erläutern Was macht @mainmain.py
Code erläutern Erklären Sie die Logik von @send_invoice
Erzeugen von Dokumentation für Funktionen und Klassen JavaDoc zu @Kunde hinzufügen

Retrieval augmented generation

Standard-Plan

Mit dem Standardplan kann Ihr Unternehmen die RAG-Generierung (Retrieval Augmented Generation) konfigurieren, d. h. den Prozess der Optimierung der Ausgabe des großen Sprachmodells (LLM) durch die Erweiterung der Eingabeaufforderung mit zusätzlichem Kontext. Weitere Informationen finden Sie unter Einrichten von Retrieval Augmented Generation(RAG).

Wenn Sie eine Abfrage stellen, verwendet watsonx Code Assistant die RAG-Tools, um die Informationen aus Ihren Codebasen oder Ihrer Dokumentation abzurufen. Dieser relevante Kontext wird an die Anfrage angehängt, bevor sie an das LLM-Modell gesendet wird. Das RAG-System bestimmt die Quellen, die einbezogen oder ausgeschlossen werden müssen, um eine Antwort mit den nützlichsten Informationen zu erhalten.

RAG benötigt den watsonx Code Assistant Standardplan und die Visual Studio Code Erweiterung. Es ist nicht für die Verwendung mit dem Eclipse Plug-in verfügbar.

Wenn RAG für Ihre Git Repositories aktiviert ist, geben Sie @repo < instruction > oder @docs < instruction > in Chat-Unterhaltungen ein, um eine Antwort zu generieren, die den Kontext aus dem referenzierten Repository oder den Dokumenten im Vektorspeicher verwendet. Ersetzen Sie den Parameter < instruction > durch eine Prompt-Meldung.

  • Beispielsyntax für die Verwendung des referenzierten Code Base Repository:

    @repo how is a chat message processed?
    
  • Beispielsyntax für die Verwendung der referenzierten Dokumentensammlung:

    @docs What are the steps to setup a connection to the user data store?
    

Verwendung von Chat-Befehlen

Chat-Befehle, mit denen Sie bestimmte Aufgaben ausführen können:

Chat-Befehle
Befehl Beschreibung Für weitere Informationen
/document Dokumentation für eine referenzierte Datei oder eine Methode oder eine Klasse im aktiven Arbeitsbereich generieren Erstellung der Dokumentation
/docs Stellen Sie Fragen, die sich auf die Produktdokumentation IBM und Red Hat beziehen Antworten aus der IBM Dokumentation erhalten
/explain Verwenden Sie generative KI, um Ihren Code zu analysieren und zusammenzufassen, um zu verstehen, was der Code tut Code erläutern
/help Schnelle Hilfe bei Aufgaben erhalten Tippe ' /help in den Chat
/unit-test Generierung von Unit-Tests für verschiedene Programmiersprachen Generierung von Einheitstests
/translate Code von einer Sprache in die andere übersetzen Code übersetzen
@repo Zur Verwendung mit Retrieval Augmented Generation (RAG) RAG aktivieren
@docs Zur Verwendung mit Retrieval Augmented Generation (RAG) RAG aktivieren

Verwaltung von Chat-Sitzungen

Sie können das Menü Chat-Sitzungen verwenden, um Ihre bestehenden Chat-Sitzungen zu verwalten.

Zum Öffnen des Menüs:

  1. Klicken Sie auf das Symbol Menü öffnen Menü öffnen.
  2. Klicken Sie auf Chat-Sitzungen.

Wechseln von Chat-Gesprächssitzungen

Um zwischen den Chat-Sitzungen zu wechseln, wählen Sie die Sitzung in der Liste der Chat-Sitzungen aus.

Umbenennen einer Chatsitzung

So benennen Sie eine Chat-Sitzung um:

  1. Klicken Sie in der Chatsitzung auf das Symbol für das Überlaufmenü Überlaufmenü.
  2. Klicken Sie auf Umbenennen.
  3. Geben Sie den neuen Namen ein, und drücken Sie die Eingabetaste.

Löschen von Chatsitzungen

So löschen Sie eine einzelne Chat-Sitzung:

  1. Klicken Sie in der Chatsitzung auf das Symbol für das Überlaufmenü Überlaufmenü.
  2. Klicken Sie auf Löschen.

So löschen Sie mehrere Chat-Sitzungen:

  1. Klicken Sie auf das Symbol Chats auswählen Chats auswählen.
  2. Wählen Sie die Chats aus, die Sie löschen möchten, oder klicken Sie auf Alle auswählen.
  3. Klicken Sie auf das Löschsymbol Löschen und dann zur Bestätigung auf die Schaltfläche Löschen.

Vervollständigen von Code im Editor

Erhalten Sie Codevorschläge, indem Sie Code oder Kommentare in Ihren Editor eingeben.

Verwendung des Editors in Eclipse

Für C, C++, Go, JavaScript, Python und TypeScript:

  1. Klicken Sie mit der rechten Maustaste auf die Datei.
  2. Klicken Sie auf Öffnen mit und dann auf Texteditor.

Für Java wird die Inline-Code-Generierung mit dem Java in der Eclipse IDE in watsonx Code Assistant unterstützt, muss aber zunächst eingerichtet werden.

  1. Gehen Sie in den Eclipse zu Content Assist.

    Navigation zum Inhaltsassistenten
    Betriebssystem Pfad
    MacOS Eclipse > Einstellungen > Java > Editor > Content Assist
    Windows Fenster > Voreinstellungen > Java > Editor > Inhaltsassistent
  2. Deaktivieren Sie im Abschnitt "Einfügen" die Option "Einzelne Vorschläge automatisch einfügen ".

  3. Fügen Sie im Abschnitt " Automatische Aktivierung" den Code " ._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ zu den Auslösern für die automatische Aktivierung von Java hinzu und bestätigen Sie, dass die Option "Automatische Aktivierung aktivieren" aktiviert ist.

  4. Klicken Sie auf Anwenden und Schließen.

Einzeiliger Abschluss

Wenn Sie eine Codezeile in Ihrem Editor schreiben, kann watsonx Code Assistant Code vorschlagen, um sie zu vervollständigen.

  1. Beginnen Sie mit der Eingabe einer Codezeile und halten Sie dann an.
  2. Watsonx Code Assistant fügt einen Code-Vorschlag hinzu, um die eingegebene Zeile zu vervollständigen.
  3. Drücken Sie in Visual Studio Code die Tabulatortaste, um den Vorschlag zu akzeptieren. Drücken Sie in Eclipse den Zeilenschalter oder die Eingabetaste, um den Vorschlag zu akzeptieren. Oder drücken Sie Esc zum Ablehnen.

Mehrzeiliger Abschluss

Sie können einen mehrzeiligen Code-Vorschlag auf der Grundlage einer Codezeile oder eines Kommentars erhalten, den Sie eingeben.

  1. Beginnen Sie mit der Eingabe einer Codezeile, oder geben Sie einen Kommentar ein, der den gewünschten Code beschreibt.

    Die besten Ergebnisse erzielen Sie, wenn Sie in Ihrem Kommentar z. B. die erwartete Programmiersprache angeben:

    // Sort an array with a fast sort function (TypeScript programming language)
    
  2. Verwenden Sie ein Tastenkürzel.

    Standard-Tastaturkürzel
    Betriebssystem Abkürzung
    MacOs Option+.
    Windows Alt+.
  3. Watsonx Code Assistant fügt einen mehrzeiligen Code-Vorschlag hinzu.

  4. Drücken Sie in Visual Studio Code die Tabulatortaste, um den Vorschlag zu akzeptieren. Drücken Sie in Eclipse den Zeilenschalter oder die Eingabetaste, um den Vorschlag zu akzeptieren. Oder drücken Sie Esc zum Ablehnen.

Deaktivierung der Code-Vervollständigung für bestimmte Code-Sprachen

Bei Bedarf können Sie die Einstellung Completion: Disabled Languages für die Erweiterung Visual Studio Code verwenden, um die Code-Vervollständigung für bestimmte Code-Sprachen zu deaktivieren.

  1. Öffnen Sie die Einstellungen der watsonx Code Assistant-Erweiterung.

  2. Klicken Sie auf "Element hinzufügen ", um eine Codesprache auszuwählen. Zur Auswahl stehen:

    Code-Sprachen
    Auswahloption Sprache des Codes
    c C
    cpp C++
    go Los
    java Java
    javascript JavaScript
    javascriptreact JavaScript Reagieren
    python Python
    typescript TypeScript
    typescriptreact TypeScript Reagieren

Um eine Codesprache wieder zu aktivieren, können Sie sie aus der Liste entfernen.

  1. Klicken Sie auf die Sprache des Codes in der Liste.

  2. Klicken Sie auf das Symbol Element entfernen Schließen, um es aus der Liste der deaktivierten Sprachen zu entfernen.

Ändern von Tastaturkürzeln

Sie können die Tastenkombinationen ändern, wenn die Standardkombinationen bereits anderen Aufgaben zugewiesen sind.

So ändern Sie die Tastaturkürzel in Visual Studio Code:

  1. Klicken Sie auf das Menü Code.
  2. Wählen Sie Einstellungen.
  3. Wählen Sie Tastaturkurzbefehle.
  4. Suche nach ' watsonx.
  5. Klicken Sie für die zu ändernde Tastenkombination auf das Bleistiftsymbol Tastenzuordnung ändern und weisen Sie eine andere Tastenkombination zu.

So ändern Sie die Tastaturkürzel in Eclipse:

  1. Klicken Sie auf das Eclipse menü.
  2. Wählen Sie Einstellungen.
  3. Geben Sie " Keys ein, um die Einstellungen zu filtern, und klicken Sie dann auf Tasten.
  4. Geben Sie " WCA ein, um die Liste zu filtern.
  5. Wählen Sie das Tastaturkürzel, das Sie ändern möchten.
  6. Geben Sie im Feld Bindung eine neue Tastenkombination ein.

Deaktivieren der Code-Vervollständigung

Falls erforderlich, können Sie die Vervollständigung des Codes im Editorfenster deaktivieren.

So deaktivieren Sie die Code-Vervollständigung in Visual Studio Code:

  1. Klicken Sie in der unteren rechten Ecke des Editors auf das Symbol für die Deaktivierung von watsonx Code Assistant Vervollständigungen.
  2. Sie können die Vervollständigungen wieder aktivieren, indem Sie erneut auf das Symbol Vervollständigungen watsonx Code Assistant aktivieren klicken.

So deaktivieren Sie die Code-Vervollständigung in der Eclipse IDE:

  1. Klicken Sie in der Symbolleiste des Editors auf das Symbol watsonx Code Assistant deaktivieren.
  2. Sie können die Vervollständigungen wieder aktivieren, indem Sie erneut auf das Symbol Vervollständigungen watsonx Code Assistant aktivieren klicken.

Bewährte Verfahren für die Erstellung von Codevorschlägen

Nutzen Sie diese Tipps, um die besten Ergebnisse zu erzielen.

Verwenden Sie den Chat für längere Codeblöcke. Verwenden Sie die Code-Generierung im Editor für Verfeinerungen und Boilerplate-Code.

Verwenden Sie den Chat zum:

  • Eine Gliederung für eine Klasse erstellen
  • Eine Methode im Detail spezifizieren
  • Verfeinern Sie den vorgeschlagenen Code mit weiteren Anweisungen (z. B. umbenennen oder ersetzen)

Verwenden Sie die Codegenerierung im Editor, um:

  • Vervollständigen Sie die Codezeile, die Sie begonnen haben, einzugeben
  • Automatisches Erstellen von Boilerplate-Code, z. B. Getter und Setter
  • Erstellen Sie Methoden und Code, die mit einer einzigen Kommentarzeile beschrieben werden können

Comment-to-code: Verwenden Sie beschreibende Kommentare, keine Anweisungen

Wenn Sie comment-to-code im Editor verwenden, schreiben Sie einen Kommentar, der das beabsichtigte Verhalten beschreibt, ähnlich wie Sie Kommentare zu selbst geschriebenem Code schreiben. Verwenden Sie zum Beispiel " //return even numbers from an arraylist oder " //method that returns even numbers from an arraylist.

Schreiben Sie Ihren Kommentar nicht als Anweisung, wie z. B. " //write a method that returns even numbers from an arraylist. { Watsonx Code Assistant Modelle sind darauf trainiert, Code auf Daten zu vervollständigen, die viele typische, beschreibende Kommentare enthalten, so dass diese Art von Kommentaren bessere Ergebnisse liefert.

Kontext, der für die Codegenerierung im Editor verwendet wird

Die wichtigste Zutat für die Codegenerierung ist der Kontext, d. h. der umgebende Code, den Sie an das Modell übergeben. Für die Codegenerierung im Editor wird watsonx Code Assistant verwendet:

  1. Die 20 Codezeilen vor der Zeile, in der die Generierung ausgelöst wird.
  2. Die 20 Codezeilen nach der Zeile, in der die Generierung ausgelöst wird.
  3. Bis zu 200 Zeilen vom Anfang der aktuellen Datei, in der die Generierung ausgelöst wird.
  4. Bis zu 5 Codeschnipsel, die dem Code ähnlich sind, der die Zeile umgibt, in der die Generierung ausgelöst wurde. Diese Schnipsel stammen aus den letzten 10 Dateien, die Sie in derselben Programmiersprache wie die aktuelle Datei geöffnet haben.

Verbesserung der Ergebnisse der Codegenerierung im Editor:

  • Öffnen Sie Dateien in Ihrem Arbeitsbereich, die Code enthalten, von dem watsonx Code Assistant wissen soll. Watsonx Code Assistant versucht, in diesen Dateien Code zu finden, der dem Code ähnlich ist, bei dem Sie die Vervollständigung auslösen, z. B. Methoden, die ähnliche Klassen und Variablen verwenden, und sendet diesen Code dann als Kontext an das Modell.
  • Helfen Sie watsonx Code Assistant, indem Sie mit einer Klassendefinition beginnen oder Importanweisungen hinzufügen, oder verwenden Sie den watsonx Code Assistant, um die erste Gliederung zu erstellen, kopieren Sie das Ergebnis in eine Datei in Ihrem Arbeitsbereich, und fahren Sie dann mit der Codegenerierung im Editor fort. Verwenden Sie die Codegenerierung im Editor nicht, wenn Sie mit null oder fast leeren Dateien beginnen, da diese Bedingungen nicht genügend Kontext bieten.