Tutorials

Code aus Kommentaren generieren

Verwenden Sie literate Coding, damit Bob Code aus natürlichsprachlichen Kommentaren generiert, wobei Bob Ihnen hilft, präzise, kontextbewusste Code-Änderungen direkt in Ihrem Editor zu schreiben.

Literate Coding ermöglicht es Ihnen, Code mit KI-Unterstützung direkt in Ihrem Editor zu schreiben. Anstatt zu einem Chat-Fenster zu wechseln oder lange Prompts zu schreiben, geben Sie Anweisungen in einfacher Sprache genau dort ein, wo der Code sein soll. Bob generiert dann die Implementierung für Sie im Kontext und zeigt ein Diff der Änderungen.

Literate Coding ist effektiv für die folgenden Änderungen:

  • Wrapper-Logik hinzufügen: Retry-Mechanismen, Fehlerbehandlung oder Protokollierung um bestehenden Code
  • Spezifische Blöcke refaktorieren: Gezielte Abschnitte ändern, während die umgebende Logik erhalten bleibt
  • Schnelle gezielte Änderungen: Präzise Änderungen an spezifischen Funktionen ohne Auswirkungen auf die breitere Struktur. Für komplexe Änderungen, die mehrere Funktionen oder Dateien betreffen, sollten Sie die agentische Chat-Seitenleiste verwenden, um einen Plan zu erstellen.

In diesem Tutorial beheben Sie ein intermittierendes Timeout, indem Sie einen Codeblock mit Retry-Logik umschließen.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie Folgendes:

  • Falls Sie es noch nicht haben, klonen Sie den Galaxium Travels Demo-Code. Der Clone-Befehl checkt auch den bob-learning-path-branch aus, der den Code enthält, den Sie in den Tutorials verwenden.
git clone -b bob-learning-path-branch https://github.com/IBM/galaxium-travels
  • Bob IDE mit geöffnetem Galaxium Travels Demo-Code
  • Sie haben /init in der agentischen Chat-Seitenleiste von Bob ausgeführt, um Bob zu initialisieren und ihm zu ermöglichen, Kontext aus der Codebasis zu sammeln. Lesen Sie das Tutorial „Ein Projekt starten", falls Sie dies noch nicht getan haben.
  • Obwohl nicht erforderlich, sollten Sie das Quickstart-Tutorial durchführen, um sich mit Bobs Benutzeroberfläche und Funktionen vertraut zu machen.
  • Möglicherweise möchten Sie für dieses Tutorial ein neues Kontextfenster starten. Lesen Sie das Tutorial „Ein neues Kontextfenster erstellen".

Literate Coding verwenden

Das Galaxium Travels Backend ist unzuverlässig und erhält gelegentlich Timeout-Fehler. Anstatt den Code von Grund auf neu zu schreiben, können Sie literate Coding verwenden, um den spezifischen Codeblock mit Retry-Logik zu umschließen.

Datei öffnen

Öffnen Sie die Datei booking_system_frontend/src/pages/Flights.tsx.

Cursor positionieren

Klicken Sie in Zeile 43.

Literate Coding-Modus aktivieren

Klicken Sie auf die Auslassungspunkte und wählen Sie dann Literate Coding Mode.

Literate Coding Mode auswählen

Anweisung schreiben

Geben Sie die folgende natürlichsprachliche Anweisung ein, um die gewünschte Änderung in Zeile 43 zu beschreiben:

Das Backend ist zeitweise unzuverlässig. Wir benötigen hier eine Retry-Logik

Natürlichsprachlicher Prompt im literate Coding-Modus eingegeben

Code generieren

Klicken Sie auf Generate, um die Änderungen zu erstellen.

Bob präsentiert Änderungen in einer Diff-Ansicht. Der rot hervorgehobene Text zeigt, welcher Code entfernt wird, und der grün hervorgehobene Text zeigt, welchen Code Bob hinzufügt.

Bob präsentiert die vorgeschlagenen Änderungen in einer Diff-Ansicht

Änderungen akzeptieren

Überprüfen Sie die Änderungen und klicken Sie auf Accept All, um sie anzuwenden.

Sie haben eine Retry-Schleife hinzugefügt, um Timeout-Fehler in der Galaxium Travels-Webanwendung zu beheben.

Nächste Schritte

In diesem Tutorial haben Sie gelernt, wie literate Coding Ihnen ermöglicht, präzise, natürlichsprachgesteuerte Code-Änderungen vorzunehmen. Literate Code zeigt Ihnen ein Code-Diff, damit Sie den Code überprüfen können, bevor Sie die Änderungen akzeptieren.

Fahren Sie fort mit Komplexe Features planen und implementieren, um mehr über die agentische Chat-Seitenleiste zu erfahren, die die primäre Schnittstelle für komplexe, mehrstufige Entwicklungsaufgaben in Bob ist.

Wie ist dieses Thema?