ist jetzt verfügbar! Lesen Sie über die neuen Funktionen und Fehlerbehebungen vom November.

Prompt-Engineering in VS Code

Dieser Artikel behandelt Tipps zum Schreiben von Prompts, um bessere und relevantere Antworten von KI in Visual Studio Code zu erhalten. Prompt-Engineering oder Prompt-Gestaltung sind gängige Begriffe, wenn über KI gesprochen wird und beziehen sich darauf, wie und welche Informationen verpackt und an einen KI-API-Endpunkt gesendet werden.

Wenn Sie neu bei VS Code oder KI sind, möchten Sie vielleicht zuerst den Artikel KI in VS Code – Übersicht lesen oder direkt in das Erste Schritte-Tutorial eintauchen.

Das Beste aus Inline-Vorschlägen herausholen

Inline-Vorschläge helfen Ihnen, effizienter zu codieren, indem sie automatisch Vorschläge zur Vervollständigung Ihres Codes, Kommentaren, Tests und mehr anbieten. Es gibt Dinge, die Sie tun können, um der KI zu helfen ("prompten"), die bestmöglichen Vorschläge zu erhalten.

Kontext bereitstellen

Die KI funktioniert am besten, wenn sie genügend Kontext hat, um zu wissen, was Sie tun und wobei Sie Hilfe benötigen. So wie Sie einem Kollegen Kontext geben würden, wenn Sie Hilfe bei einer bestimmten Programmieraufgabe benötigen, können Sie dasselbe mit KI tun.

Dateien öffnen

Für Inline-Vorschläge betrachtet VS Code die aktuellen und geöffneten Dateien in Ihrem Editor, um den Kontext zu analysieren und geeignete Vorschläge zu erstellen. Wenn verwandte Dateien in VS Code geöffnet sind, während Sie Inline-Vorschläge verwenden, hilft dies, diesen Kontext herzustellen und der KI ein größeres Bild Ihres Projekts zu vermitteln.

Top-Level-Kommentar

So wie Sie einem Kollegen eine kurze, übergeordnete Einführung geben würden, kann ein Top-Level-Kommentar in der Datei, an der Sie arbeiten, der KI helfen, den übergeordneten Kontext der von Ihnen erstellten Teile zu verstehen.

Geeignete Includes und Referenzen

Es ist am besten, die für Ihre Arbeit erforderlichen Includes oder Modulreferenzen manuell festzulegen. Die KI kann Vorschläge machen, aber Sie wissen wahrscheinlich am besten, welche Abhängigkeiten Sie einbeziehen müssen. Dies kann auch der KI helfen zu wissen, welche Frameworks, Bibliotheken und deren Versionen sie bei der Erstellung von Vorschlägen verwenden soll.

Im folgenden TypeScript-Beispiel möchten wir die Ausgabe der add-Methode protokollieren. Wenn wir keine Includes haben, schlägt die KI die Verwendung von console.log vor.

KI-Inline-Vorschlag schlägt Console.log vor, wenn keine Imports in der Datei vorhanden sind. Auf der anderen Seite, wenn Sie eine Referenz zu Log4js hinzufügen, schlägt die KI die Verwendung dieses Frameworks zur Protokollierung der Ausgabe vor.

AI inline suggestion proposes logging using the imported logging framework.

Aussagekräftige Funktionsnamen

So wie eine Methode namens fetchData() einem Kollegen (oder Ihnen nach mehreren Monaten) nicht viel bedeuten würde, hilft auch fetchData() der KI nicht. Die Verwendung aussagekräftiger Funktionsnamen hilft der KI, einen Körper zu liefern, der das tut, was Sie wollen.

Spezifische und gut abgegrenzte Funktionskommentare

Ein Funktionsname kann nur so beschreibend sein, ohne übermäßig lang zu werden. Funktionskommentare können Details ergänzen, die die KI wissen muss.

KI mit Beispielcode "primen"

Ein Trick, um die KI auf den richtigen Weg zu bringen, ist das Kopieren und Einfügen von Beispielcode, der dem Gesuchten nahekommt, in Ihren geöffneten Editor. Ein kleines Beispiel kann der KI helfen, Vorschläge zu generieren, die der Sprache und den von Ihnen angestrebten Aufgaben entsprechen. Sobald die KI Ihnen den gewünschten und tatsächlich nutzbaren Code liefert, können Sie den Beispielcode aus der Datei löschen. Dies kann besonders hilfreich sein, um die KI auf eine neuere Bibliotheksversion zu bringen, wenn sie standardmäßig ältere Codevorschläge liefert.

Seien Sie konsistent und halten Sie die Qualitätsstandards hoch

Die KI wird sich an Ihren Code anlehnen, um Vorschläge zu generieren, die dem vorhandenen Muster folgen, daher gilt das Sprichwort "Garbage in, garbage out". Immer einen hohen Qualitätsstandard zu halten, kann Disziplin erfordern. Besonders wenn Sie schnell und locker programmieren, um etwas zum Laufen zu bringen, möchten Sie möglicherweise die Vervollständigungen im "Hacking"-Modus deaktivieren. Um Inline-Vorschläge vorübergehend zu unterbrechen, wählen Sie das Copilot-Menü in der Statusleiste und dann die Schaltfläche Snooze, um die Unterbrechungszeit um fünf Minuten zu erhöhen. Um Inline-Vorschläge wieder aufzunehmen, wählen Sie die Schaltfläche Cancel Snooze im Copilot-Menü.

Screenshot of the Copilot menu in the Status Bar with Snooze and Cancel Snooze buttons.

Das Beste aus dem Chat herausholen

Wenn Sie den Chat verwenden, gibt es mehrere Dinge, die Sie tun können, um Ihre Erfahrung zu optimieren.

Relevante Kontexte hinzufügen

Sie können Ihrer Aufforderung explizit Kontext hinzufügen, indem Sie # gefolgt vom Kontextobjekt, das Sie erwähnen möchten, eingeben. VS Code unterstützt verschiedene Arten von Kontextobjekten: Dateien, Ordner, Codesymbole, Werkzeuge, Terminalausgabe, Quellcodeverwaltungsänderungen und mehr.

Geben Sie das #-Symbol in das Chat-Eingabefeld ein, um eine Liste der verfügbaren Kontextobjekte anzuzeigen, oder wählen Sie Kontext hinzufügen in der Chat-Ansicht, um den Kontextauswähler zu öffnen.

Zum Beispiel können Sie mit #<Dateiname> oder #<Ordnername> bestimmte Dateien oder Ordner aus Ihrem Arbeitsbereich in Ihrer Chat-Aufforderung referenzieren. Dies hilft, die Antworten von Copilot Chat relevanter für Ihren Code zu machen, indem Kontext über die Datei, mit der Sie arbeiten, bereitgestellt wird. Sie können Fragen stellen wie "Können Sie Verbesserungen an #package.json vorschlagen?" oder "Wie füge ich eine Erweiterung in #devcontainer.json hinzu?".

Anstatt einzelne Dateien manuell hinzuzufügen, können Sie VS Code die richtigen Dateien aus Ihrer Codebasis automatisch finden lassen, indem Sie #codebase verwenden. Dies kann nützlich sein, wenn Sie nicht wissen, welche Dateien für Ihre Frage relevant sind.

Screenshot of Chat view, showing the Attach context button and context Quick Pick.

Erfahren Sie mehr über die Verwendung von Kontext im Chat.

Seien Sie spezifisch und halten Sie es einfach

Wenn Sie den Chat bitten, etwas zu tun, seien Sie spezifisch in Ihrer Anfrage und zerlegen Sie eine große Aufgabe in separate, kleinere Aufgaben. Bitten Sie beispielsweise den Chat nicht, eine Express-App zu erstellen, die TypeScript und Pug verwendet und eine Produktseite hat, die Daten aus einer MongoDB-Datenbank abruft. Bitten Sie stattdessen zuerst, die Express-App mit TypeScript und Pug zu erstellen. Bitten Sie dann, eine Produktseite hinzuzufügen, und bitten Sie schließlich, die Kundendaten aus einer Datenbank abzurufen.

Wenn Sie den Chat bitten, eine bestimmte Aufgabe auszuführen, seien Sie spezifisch bezüglich der Eingaben, Ausgaben, APIs oder Frameworks, die Sie verwenden möchten. Je spezifischer Ihre Aufforderung ist, desto besser wird das Ergebnis sein. Verwenden Sie zum Beispiel anstelle von "Produktdaten aus der Datenbank lesen" "Alle Produkte nach Kategorie lesen, die Daten im JSON-Format zurückgeben und die Mongoose-Bibliothek verwenden".

Iterieren Sie Ihre Lösung

Wenn Sie den Chat um Hilfe bitten, sind Sie nicht an die erste Antwort gebunden. Sie können iterieren und den Chat auffordern, die Lösung zu verbessern. Der Chat hat sowohl den Kontext des generierten Codes als auch Ihre aktuelle Konversation. Hier ist ein Beispiel, bei dem Inline-Chat verwendet wird, um eine Funktion zur Berechnung von Fibonacci-Zahlen zu erstellen.

First response from AI for a function to calculate Fibonacci numbers

Vielleicht bevorzugen Sie eine Lösung, die keine Rekursion verwendet

Ask AI to not use recursion and new result

Sie können die KI sogar bitten, Codierkonventionen zu befolgen oder Variablennamen zu verbessern.

Ask AI to use better variable names and new result

Selbst wenn Sie ein Ergebnis bereits akzeptiert haben, können Sie die KI jederzeit später bitten, den Code zu überarbeiten.

Weitere Ressourcen zum Prompting für Copilot

Wenn Sie mehr über die produktive Nutzung von GitHub Copilot erfahren möchten, können Sie sich diese Videos und Blogbeiträge ansehen.

© . This site is unofficial and not affiliated with Microsoft.