Angewendete GitHub Copilot-Techniken
In vorherigen Lerneinheiten haben wir gezeigt, wie Copilot eingerichtet wird und Ihnen als Entwickler*in beim Einstieg in das Schreiben von Code hilft.
In dieser Lerneinheit sehen wir uns an, wie Copilot Sie bei vorhandenen Projekten und komplizierteren Aufgaben unterstützen kann.
Erweiterte Aufgaben mit GitHub Copilot
Technische Fachkräfte arbeiten häufig an vorhandenen Projekten. Beim Korrigieren von Code oder Implementieren von Features müssen Dokumentation und Tests geschrieben und Terminalbefehle verwendet werden. Sehen wir uns einige Möglichkeiten an, wie dies mit GitHub Copilot möglich ist.
Implizite Prompts
Obwohl Sie bei den Eingabeaufforderungen spezifisch sein können, um eine Anleitung von GitHub Copilot zu erhalten, können Sie die Vorteile von Funktionen nutzen, die implizit eine vorgefertigte Eingabeaufforderung liefern, um eine gute Antwort zu erhalten.
Angenommen, Sie arbeiten an einem Python-Projekt und haben eine Datei mit dem folgenden Code geöffnet, der einen Fehler enthält:
with open("file.txt", "r") as file:
# Read the file and print the content
contents = file.read
Nachdem Sie den Code ausgewählt und STRG+I unter Windows oder BEFEHL+I auf einem Mac gedrückt haben, können Sie GitHub Copilot mithilfe des Inlinechats und des Schrägstrich-Befehls /fix anweisen, den Code zu korrigieren.
Wenn Sie nur eingeben /fix, erhalten Sie möglicherweise eine Antwort von GitHub Copilot ähnlich diesem Vorschlag: "Um den Code zu beheben, würde ich Klammern nach file.read hinzufügen, um die Lesemethode aufzurufen und den Tippfehler im Methodennamen zu beheben."
Slash-Befehle können sowohl im Inline-Chat als auch in der Chatoberfläche verwendet werden. Zusätzlich zum /fix Befehl sind hier einige der nützlichsten Schrägstrichbefehle, die Sie im Copilot-Chat verwenden können:
/doc: Fügt dem angegebenen oder ausgewählten Code Kommentare hinzu./explain: Ruft Erläuterungen zum Code ab./generate: Generiert Code, um die angegebene Frage zu beantworten./help: ruft Hilfe zur Verwendung des Copilot-Chats ab./optimize: Analysiert und verbessert die Laufzeit des ausgewählten Codes./tests: Erstellt Komponententests für den ausgewählten Code.
Mithilfe von Schrägstrich-Befehlen können Sie noch einfacher mit GitHub Copilot interagieren und bessere Antworten erhalten, ohne längere Prompts schreiben zu müssen.
Wenn Sie Features wie Schrägstrichbefehle mit Inlinechat kombinieren, können Sie wählen, was für Sie und den Code, an dem Sie arbeiten, am besten funktioniert.
Selektiver Kontext
GitHub Copilot kann angepasst werden, um Vorschläge basierend auf dem Kontext bereitzustellen, an dem Sie arbeiten. Sie können GitHub Copilot beispielsweise bitten, Vorschläge basierend auf dem gesamten Arbeitsbereich oder der Terminalausgabe bereitzustellen.
GitHub Copilot kann Ihnen einen genauen Vorschlag für Ihr Projekt unterbreiten, ohne dass Sie viele Dateien öffnen müssen. Angenommen, Sie müssen Ihr Projekt mithilfe eines Dockerfiles packen. Ein Dockerfile ist eine spezielle Datei, die bestimmte Anweisungen zum Packen Ihres Projekts benötigt. Sie können den @workspace Agent verwenden, um GitHub Copilot zu fragen, wie Sie ihnen helfen können. Öffnen Sie beispielsweise GitHub Copilot Chat, und geben Sie den folgenden Befehl ein:
@workspace I need to create a Dockerfile for this project, can you generate one that will help me package it?
Sie erhalten eine Antwort, in der die Schritte zum Erstellen eines Dockerfiles für Ihr Projekt erläutert werden, zusammen mit einigen Erläuterungen zu den Schritten der Datei.
Wie immer, wenn die Vorschläge nicht genau das sind, wonach Sie suchen, können Sie die Eingabeaufforderung umschreiben, sodass sie spezifischer ist. Sie können GitHub Copilot beispielsweise anweisen, beim Erstellen des Dockerfiles einen bestimmten Schritt anzuwenden:
@workspace help me create a Dockerfile to package this project but make sure you are using a Virtual Environment for Python.
Zusätzlich zum @workspace Agenten können Sie andere Agenten wie @terminal, @file und @directory nutzen, um kontextspezifische Vorschläge zu erhalten.
@terminal: Stellt Vorschläge basierend auf der Terminalausgabe bereit.- Beispiel: @terminal Wie behebt ich die Fehlermeldung, die angezeigt wird?
@file: Konzentriert sich auf den Inhalt einer bestimmten Datei.- Beispiel: @file Können Sie mir helfen, diese Funktion in main.py umzugestalten?
@directory: Berücksichtigt den Inhalt eines bestimmten Verzeichnisses.- Beispiel: @directory Wie kann ich die Skripts im Verzeichnis "utils" optimieren?
Wenn Sie nicht weiterkommen oder nicht die gewünschten Ergebnisse erhalten, können Sie den Prompt neu formulieren oder Code zur automatischen Vervollständigung durch Copilot schreiben.
Hinweis
Obwohl Sie mit @workspace spezifisch sein können, verwendet GitHub Copilot geöffnete Dateien in Ihrem Text-Editor als zusätzlichen Kontext.