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.
- Um einen neuen Chat zu beginnen, klicken Sie auf das Symbol für einen neuen Chat
.
- Stellen Sie eine Frage oder geben Sie eine Anweisung.
- Klicken Sie auf das Symbol „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.
- Um eine frühere oder eine vorhandene Nachricht in einem neuen Chat zu verwenden, klicken Sie auf das Symbol Neuen Chat starten
.
- Stellen Sie eine Frage oder geben Sie eine Anweisung.
- Klicken Sie auf das Symbol „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.
- Positionieren Sie den Cursor im Editor.
- Klicken Sie im Chat auf das Symbol Am Cursor
.
Wenn Sie Code im Editor haben, den Sie als Kontext im Chat verwenden möchten, können Sie den Code in den Chat kopieren.
- Markieren Sie den Code im Editor.
- Klicken Sie mit der rechten Maustaste, um das Popup-Menü anzuzeigen.
- Wählen Sie watsonx Code Assistant.
- 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:
- Klicken Sie auf das Symbol Menü öffnen
.
- Klicken Sie auf Prompt-Bibliothek, um sie zu öffnen.
- Klicken Sie auf das Symbol In die Zwischenablage kopieren
.
- Klicken Sie erneut auf Prompt-Bibliothek, um sie zu schließen.
- 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.
- Geben Sie das Symbol "
@als Teil Ihrer Chat-Nachricht ein, um eine Liste der Dateien, Klassen und Methoden Ihres Arbeitsbereichs anzuzeigen. - Filtern Sie die Liste, indem Sie die Zeichen des Datei-, Klassen- oder Methodennamens eingeben, auf den Sie verweisen möchten.
- 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:
| 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:
| 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:
- Klicken Sie auf das Symbol Menü öffnen
.
- 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:
- Klicken Sie in der Chatsitzung auf das Symbol für das Überlaufmenü
.
- Klicken Sie auf Umbenennen.
- Geben Sie den neuen Namen ein, und drücken Sie die Eingabetaste.
Löschen von Chatsitzungen
So löschen Sie eine einzelne Chat-Sitzung:
- Klicken Sie in der Chatsitzung auf das Symbol für das Überlaufmenü
.
- Klicken Sie auf Löschen.
So löschen Sie mehrere Chat-Sitzungen:
- Klicken Sie auf das Symbol Chats auswählen
.
- Wählen Sie die Chats aus, die Sie löschen möchten, oder klicken Sie auf Alle auswählen.
- Klicken Sie auf das Löschsymbol
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:
- Klicken Sie mit der rechten Maustaste auf die Datei.
- 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.
-
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 -
Deaktivieren Sie im Abschnitt "Einfügen" die Option "Einzelne Vorschläge automatisch einfügen ".
-
Fügen Sie im Abschnitt " Automatische Aktivierung" den Code "
._abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZzu den Auslösern für die automatische Aktivierung von Java hinzu und bestätigen Sie, dass die Option "Automatische Aktivierung aktivieren" aktiviert ist. -
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.
- Beginnen Sie mit der Eingabe einer Codezeile und halten Sie dann an.
- Watsonx Code Assistant fügt einen Code-Vorschlag hinzu, um die eingegebene Zeile zu vervollständigen.
- 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.
-
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) -
Verwenden Sie ein Tastenkürzel.
Standard-Tastaturkürzel Betriebssystem Abkürzung MacOs Option+. Windows Alt+. -
Watsonx Code Assistant fügt einen mehrzeiligen Code-Vorschlag hinzu.
-
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.
-
Öffnen Sie die Einstellungen der watsonx Code Assistant-Erweiterung.
-
Klicken Sie auf "Element hinzufügen ", um eine Codesprache auszuwählen. Zur Auswahl stehen:
Code-Sprachen Auswahloption Sprache des Codes cC cppC++ goLos javaJava javascriptJavaScript javascriptreactJavaScript Reagieren pythonPython typescriptTypeScript typescriptreactTypeScript Reagieren
Um eine Codesprache wieder zu aktivieren, können Sie sie aus der Liste entfernen.
-
Klicken Sie auf die Sprache des Codes in der Liste.
-
Klicken Sie auf das Symbol Element entfernen
, 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:
- Klicken Sie auf das Menü Code.
- Wählen Sie Einstellungen.
- Wählen Sie Tastaturkurzbefehle.
- Suche nach '
watsonx. - 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:
- Klicken Sie auf das Eclipse menü.
- Wählen Sie Einstellungen.
- Geben Sie "
Keysein, um die Einstellungen zu filtern, und klicken Sie dann auf Tasten. - Geben Sie "
WCAein, um die Liste zu filtern. - Wählen Sie das Tastaturkürzel, das Sie ändern möchten.
- 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:
- Klicken Sie in der unteren rechten Ecke des Editors auf das Symbol
Deaktivierung von watsonx Code Assistant Vervollständigungen.
- 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:
- Klicken Sie in der Symbolleiste des Editors auf das Symbol watsonx Code Assistant deaktivieren.
- 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:
- Die 20 Codezeilen vor der Zeile, in der die Generierung ausgelöst wird.
- Die 20 Codezeilen nach der Zeile, in der die Generierung ausgelöst wird.
- Bis zu 200 Zeilen vom Anfang der aktuellen Datei, in der die Generierung ausgelöst wird.
- 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.