WERBEPLATZ VERFÜGBAR · PARTNERSCHAFTEN WILLKOMMEN

Wie Entwickler Tabnine Chat in VS Code und JetBrains für Tests, Code-Erklärungen und Refactoring einsetzen

365Finds Editorial
11.430 Wiki-Artikel erfasst

365 Wiki mit deiner KI nutzen

Kopiere den Prompt unten, füge ihn in deine gewohnte KI ein und stelle direkt deine Frage.

Vollständigen Skill herunterladen

Probiere es zuerst mit dem Prompt aus. Wenn du 365 Wiki häufig nutzt, installiere den vollständigen 365Wiki Skill, damit du ihn nicht jedes Mal einfügen musst. Ohne bevorzugte KI funktionieren auch die Webversionen von Gemini oder Microsoft Copilot.

Tabnine Chat integriert einen dialogbasierten KI-Assistenten direkt in die gewohnte Entwicklungsumgebung von Visual Studio Code und den IDEs von JetBrains (wie IntelliJ IDEA, PyCharm, WebStorm und GoLand). Anstatt Programmcode umständlich zwischen Webbrowser und Editor hin- und herzukopieren, nutzen Softwareentwickler Tabnine Chat, um im Editor präzise Unit-Tests zu erzeugen, komplexe oder gewachsene Geschäftslogik zu analysieren und bestehende Funktionen kontrolliert zu refaktorieren.

Dieser Leitfaden veranschaulicht, wie Softwareingenieure Tabnine Chat in VS Code und JetBrains einsetzen, um diese drei Kernaufgaben des Entwicklungsalltags effizient zu bewältigen. Behandelt werden Aufrufmethoden, die kontextbezogene Syntax (@ und %), Best Practices für Prompting sowie die Übernahme von Codeänderungen via Diff-Ansicht.


1. Zugriffswege und Aktivierung von Tabnine Chat

Tabnine Chat ist als persistentes Seitenleisten-Panel und über kontextuelle Einblendungen direkt im Quelltext erreichbar.

Öffnen des Chat-Panels

Drei Interaktionsmodi

  1. Methodenbezogenes CodeLens: In unterstützten Programmiersprachen (Java, Python, TypeScript, JavaScript, Go, Rust, C#, PHP, Swift sowie C/C++) blendet Tabnine direkt über Funktionsdefinitionen klickbare CodeLens-Schaltflächen ein. Ein Klick auf Explain oder Test öffnet den Chat mit direktem Fokus auf diese Methode.
  2. Globale Schnellbefehle (Slash-Befehle /): Die Eingabe von / in das Textfeld oder das Anklicken von Schnellaktionen in einer neuen Sitzung aktiviert Standardbefehle wie /explain-code (Code erklären), /generate-test-for-code (Tests generieren), /fix-code (Fehler beheben) und /document-code (Dokumentation erstellen).
  3. Freitext-Prompts mit Workspace-Kontext: Entwickler können Code im Editor markieren, Anweisungen in natürlicher Sprache eingeben und mit Erwähnungen (@ für Typen/Klassen und % für Dateien) gezielten Projektkontext übergeben.

2. Interaktive Erstellung von Unit-Tests

Das Schreiben repetitiver Test-Grundgerüste und das Abdecken von Randfällen gehört zu den produktivsten Einsatzgebieten von Tabnine Chat.

Methode A: Integrierte Schnellaktion

  1. Markieren Sie die zu testende Funktion oder Klasse im Editor.
  2. Geben Sie im Chat /generate-test-for-code ein oder klicken Sie auf die entsprechende Schaltfläche.
  3. Tabnine analysiert die Logik und erzeugt Testfälle für den Standardablauf sowie typische Randbedingungen.

Methode B: Kontextgestützte, strukturierte Test-Prompts

In realen Unternehmensprojekten müssen Tests bestimmten Frameworks, Mocking-Bibliotheken und Namenskonventionen folgen. Hier empfiehlt sich ein strukturierter Prompt unter Verwendung von Erwähnungen:

Prompt-Beispiel:
Erstelle eine vollständige Unit-Test-Suite für die ausgewählte Methode mit JUnit 5 und Mockito.
Kontext: @OrderRepository, @PaymentClient
Anforderungen:
1. Erfolgreiche Bestellerstellung mit Rückgabewert 200 OK testen.
2. Fehlerfall bei unzureichendem Lagerbestand mit OutOfStockException abdecken.
3. Transaktions-Rollback bei Zahlungsfehler prüfen.
4. Alle Datenbankzugriffe und externen API-Aufrufe mocken.

Teamweite Testbefehle (.tabnine_commands)

Um einheitliche Teststandards im Team zu etablieren:

  1. Klicken Sie im Tabnine Chat auf Settings (Zahnrad-Symbol) > Add unter Define custom commands.
  2. Vergeben Sie einen Befehlsnamen (z. B. /test-service) und definieren Sie das Prompt-Template unter Verwendung des $selected_code-Tokens.
  3. Checken Sie die erzeugte Datei .tabnine_commands im Git-Repository-Stammverzeichnis ein, damit alle Teammitglieder denselben Testbefehl nutzen können.

3. Quelltextlogik verstehen und analysieren (Explain Code)

Beim Einarbeiten in Legacy-Code, kryptische reguläre Ausdrücke, Rekursionen oder neue Fremdbibliotheken liefert Tabnine Chat strukturierte Erläuterungen.

Schnelle Code-Erklärung

  1. Markieren Sie den betreffenden Codeblock in VS Code oder JetBrains.
  2. Klicken Sie auf das schwebende Explain CodeLens über der Methode oder tippen Sie /explain-code ein.
  3. Tabnine liefert eine strukturierte Aufschlüsselung:
    • Hauptzweck der Routine, Eingabeparameter und Rückgabewerte.
    • Verzweigungen, Schleifendurchläufe und Zustandsänderungen.
    • Mögliche Seiteneffekte und asynchrone Abhängigkeiten.

Vertiefende Rückfragen im Dialog

Im Unterschied zu statischer Dokumentation erlaubt Tabnine Chat mehrstufige Nachfragen:

Ausführlichkeit und Tonalität konfigurieren

In den Einstellungen von Tabnine Chat:


4. Refactoring bestehender Funktionen (Refactoring)

Ziel eines Refactorings ist es, Lesbarkeit, Wartbarkeit und Struktur zu optimieren, ohne das beobachtbare Laufzeitverhalten zu verändern.

Aufbau eines präzisen Refactoring-Prompts

Vermeiden Sie vage Formulierungen wie „optimiere diesen Code“. Setzen Sie stattdessen auf ein klares Anforderungsmuster:

  1. Ziel (Goal): Spezifische Technik benennen (z. B. Methode extrahieren, verschachtelte Bedingungen durch Guard Clauses auflösen, imperative Schleifen in deklarative Streams umwandeln).
  2. Kontext (Context): Relevante Typen oder Hilfsklassen mit @ referenzieren.
  3. Einschränkungen (Constraints): Unveränderliche Rahmenbedingungen festlegen: „Methodensignatur und öffentliche Schnittstelle unverändert beibehalten“ und „Ursprüngliche Exception-Typen und Log-Formate beibehalten“.
  4. Validierung (Validation): Sicherstellen, dass der refaktorierte Code alle bestehenden Unit-Tests besteht.
Prompt-Beispiel:
Ziel: Refaktoriere die ausgewählte Funktion zur Reduzierung der zyklomatischen Komplexität.
Vorgehen: Tiefe if-else-Verschachtelungen durch Guard Clauses und Early Returns ersetzen.
Einschränkungen:
- Methodensignatur und Sichtbarkeit zwingend beibehalten.
- Bestehende Fehlerprotokollierung und Statuscodes nicht verändern.
- Fachliche Geschäftslogik und Ausnahmebehandlung identisch bewahren.
Kontext: @OrderValidationService

Vorschläge im Editor prüfen und übernehmen

Tabnine stellt integrierte Steuerelemente bereit, sodass manuelle Copy-Paste-Abläufe entfallen:

AktionFunktionsweise in VS Code und JetBrains
Show DiffWird angezeigt, wenn der Vorschlag den bestehenden Quelltext modifiziert. Öffnet eine Vergleichsansicht mit farblicher Hervorhebung (Rot für Löschungen, Grün für Ergänzungen). In VS Code können Änderungen einzeln via Accept übernommen werden.
ApplyBefindet sich oben rechts im generierten Codeblock. Ersetzt den markierten Quelltext im aktiven Editor mit einem einzigen Klick.
InsertFügt das erzeugte Codefragment direkt an der aktuellen Cursorposition ein.
CopyKopiert den Codeblock in die Zwischenablage für manuelle, partielle Anpassungen.

5. Praxistipps für optimale Ergebnisqualität

Durch das Zusammenspiel von CodeLens-Aufrufen, präzisen Kontext-Prompts und nativer Diff-Vorschau wird Tabnine Chat in VS Code und JetBrains zu einem verlässlichen Begleiter für automatisierte Tests, Codeverständnis und sauberes Refactoring.


Referenzen