Umgestalten von Code mithilfe von GitHub Copilot Chatmodi

Abgeschlossen

GitHub Copilot können zum Umgestalten von Code in Ihrer Codebasis verwendet werden. Sie können die Chatansichts-Agents verwenden, um Codeumgestaltungsaufgaben zu analysieren, zu planen und zu implementieren. Die Chatansicht-Agenten bieten eine benutzerfreundliche Benutzeroberfläche für die Verwaltung vom Chat und den Zugriff auf die Funktionen von GitHub Copilot. Die Chatansicht enthält die folgenden integrierten Agents:

  • Stellen Sie: Verwenden Sie "Fragen stellen", um Fragen zu Ihren Codebasis- oder Technologiekonzepten zu stellen. Mithilfe von "Fragen" können Sie Code erläutern, Überarbeitungen oder Korrekturen vorschlagen oder Informationen zur Codebasis bereitstellen.
  • Plan: Verwenden Sie den Plan-Agent, um einen strukturierten, schrittweisen Implementierungsplan zu erstellen, bevor Sie Code schreiben. Wenn der Plan richtig aussieht, übergeben Sie ihn an einen Implementierungs-Agent, um ihn auszuführen.
  • Agent: Verwenden Sie den Agent, um einen agentischen Codierungsworkflow zu starten. Sie können den Agent verwenden, um Befehle auszuführen, Code auszuführen oder andere Aufgaben in Ihrem Arbeitsbereich auszuführen.

Von Bedeutung

Wenn Sie den Agent verwenden, kann GitHub Copilot mehrere Premium-Anforderungen stellen, um eine einzelne Aufgabe auszuführen. Premium-Anfragen können von Benutzereingaben und von Folgeaktionen, die GitHub Copilot in Ihrem Auftrag durchführt, genutzt werden. Die gesamtzahl der verwendeten Premiumanforderungen hängt von der Komplexität des Vorgangs, der Anzahl der beteiligten Schritte und dem ausgewählten Modell ab.

Verwenden Sie Ask, um Code neu zu strukturieren.

Sie können "Fragen" verwenden, um Hilfe bei Codierungsaufgaben zu erhalten, schwierige Konzepte zu verstehen und Ihren Code zu verbessern. Ask ist für interaktive Unterhaltungen mit GitHub Copilot Chat konzipiert. Sie können Fragen stellen, Erklärungen erhalten oder Vorschläge in Echtzeit anfordern.

  1. Öffnen Sie die Chatansicht, und wählen Sie "Fragen" aus.

  2. Fügen Sie dem Chat Kontext hinzu.

    Ask unterstützt Chatteilnehmer, Slash-Befehle und Chatvariablen. Sie können den #codebase Chatteilnehmer oder #codebase dem Chat hinzufügen, um Kontext zusammen mit Dateien oder Ordnern bereitzustellen.

  3. Stellen Sie Fragen, die Ihnen helfen, den Code zu verstehen, den Sie umgestalten möchten, und die Änderungen, die Sie vornehmen möchten.

    Sie können zum Beispiel GitHub Copilot bitten, Ihnen zu helfen, Ihren vorhandenen Authentifizierungscode zu verstehen und die aktuelle Methode mit OAuth zu aktualisieren.

  4. Erstellen Sie eine Eingabeaufforderung, die das Update beschreibt, das Sie implementieren möchten.

    Ihre Eingabeaufforderung sollte eine Beschreibung des Codefeatures enthalten, das Sie implementieren möchten. Beispiel:

    #codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files. Explain how to update the EnumHelper class using dictionaries and show me the updated code.
    
  5. Überprüfen Sie den vorgeschlagenen Code in der Chatansicht.

    Die in der Chatansicht angezeigte Antwort enthält einen Codeausschnitt, den Sie zum Implementieren des Features verwenden können. Sie können aktualisierte Eingabeaufforderungen eingeben, um den Code zu verfeinern oder weitere Details zu erhalten.

  6. Um vorgeschlagenen Code zu implementieren, können Sie mit dem Mauszeiger auf den Codeausschnitt zeigen und dann zwischen den Optionen "Anwenden", " Einfügen" und " Kopieren " auswählen.

    • Anwenden: Wendet den Codevorschlag auf die aktuelle Datei im Editor an.
    • Einfügen: Fügt den Codevorschlag an der aktuellen Cursorposition im Editor ein.
    • Kopieren: Kopiert den Codevorschlag in die Zwischenablage.
  7. Testen Sie den umgestalteten Code, um sicherzustellen, dass er ohne Fehler ausgeführt wird und das erwartete Ergebnis generiert.

Verwenden von Plan zum Umgestalten von Code

Sie können den Plan-Agent verwenden, wenn Sie einen strukturierten, schrittweisen Implementierungsplan erstellen möchten, bevor Sie Änderungen vornehmen. Der Plan-Agent analysiert Ihre Codebasis, stellt Klarstellungsfragen und erzeugt einen detaillierten Plan. Wenn der Plan richtig aussieht, können Sie ihn an einen Implementierungs-Agent übergeben, um ihn auszuführen.

Tipp

Verwenden Sie "Ask", um den Code, den Sie refaktorisieren möchten, auszuwerten, und bewerten Sie Ihre Optionen, bevor Sie Änderungen vornehmen. Sie können Plan verwenden, um einen strukturierten Plan zu erstellen und dann an einen Implementierungs-Agent zu übergeben.

  1. Öffnen Sie die Chatansicht, und wählen Sie "Plan" aus.

  2. Fügen Sie dem Chat Kontext hinzu.

    Geben Sie den Arbeitsbereichskontext mithilfe #codebase und durch Hinzufügen von Dateien zum Chat an.

  3. Erstellen Sie eine Eingabeaufforderung, die das Codefeature beschreibt, das Sie implementieren möchten.

    Ihre Eingabeaufforderung sollte eine Beschreibung des Codefeatures enthalten, das Sie implementieren möchten. Beispiel:

    
    #codebase I need to refactor the `EnumHelper` class and remove any code that uses reflection. Use static dictionaries to supply enum description attributes. Use a separate dictionary for each enum. The dictionaries should use values from the `LoanExtensionStatus.cs`, `LoanReturnStatus.cs`, and `MembershipRenewalStatus.cs` files.
    
    
  4. Überprüfen Sie den strukturierten Implementierungsplan, den GitHub Copilot generiert.

    Der Plan-Agent erstellt einen schrittweisen Plan, den Sie überprüfen können, bevor Codeänderungen vorgenommen werden.

  5. Wenn der Plan richtig aussieht, übergeben Sie ihn an einen Implementierungs-Agent, um ihn auszuführen.

    Sie können den Plan an den Agent weitergeben, um die Änderungen auf Ihre Codebasis anzuwenden.

  6. Überprüfen Sie die vorgeschlagenen Bearbeitungen im Code-Editor.

  7. Akzeptieren oder verwerfen Sie die vorgeschlagenen Bearbeitungen.

    Sie können mithilfe der Pfeile nach oben und unten durch die Bearbeitungen navigieren. Sie können die vorgeschlagenen Bearbeitungen einzeln beibehalten (annehmen) oder rückgängig machen (verwerfen) mithilfe des Popupmenüs, das bei jeder einzelnen Bearbeitung angezeigt wird. Sie können auch alle Bearbeitungen gleichzeitig akzeptieren oder ablehnen, indem Sie die Schaltflächen Beibehalten und Rückgängig unten auf der Registerkarte „Editor“ (oder „Chatansicht“) verwenden.

  8. Testen Sie den umgestalteten Code, um sicherzustellen, dass er ohne Fehler ausgeführt wird und das erwartete Ergebnis generiert.

Verwenden des Agents zum Umgestalten von Code

Sie können den Agent verwenden, wenn Sie den Prozess der Umgestaltung von Code automatisieren möchten. Der Agent fungiert als autonomer Agent, der Aktionen in Ihrem Auftrag ausführen kann. Sie können GitHub Copilot bitten, bestimmte Aufgaben auszuführen, und es generiert Code basierend auf Ihren Anforderungen.

Mit dem Agenten können Sie natürliche Spracheingaben verwenden, um eine übergeordnete Aufgabe anzugeben und GitHub Copilot selbstständig über die Anfrage nachdenken sowie die erforderliche Arbeit planen und die Änderungen auf Ihre Codebasis anwenden zu lassen. Der Agent verwendet eine Kombination aus Codebearbeitung und Toolaufruf, um die von Ihnen angegebene Aufgabe auszuführen. Während es Ihre Anforderung verarbeitet, überwacht es das Ergebnis von Bearbeitungen und Tools und geht es iterativ vor, um auftretende Probleme zu lösen.

Von Bedeutung

Wenn Sie den Agent verwenden, kann GitHub Copilot mehrere Premium-Anforderungen stellen, um eine einzelne Aufgabe auszuführen. Premium-Anfragen können von Benutzereingaben und von Folgeaktionen, die GitHub Copilot in Ihrem Auftrag durchführt, genutzt werden. Die gesamtzahl der verwendeten Premiumanforderungen hängt von der Komplexität des Vorgangs, der Anzahl der beteiligten Schritte und dem ausgewählten Modell ab.

  1. Öffnen Sie die Chatansicht, und wählen Sie "Agent" aus.

  2. Erstellen Sie eine Eingabeaufforderung, die die Aufgabe beschreibt, die GitHub Copilot ausführen soll.

    Angenommen, Sie haben ein Codeprojekt, das zwei oder mehr Prozesse/Techniken verwendet, um dieselbe Aufgabe auszuführen. Sie können GitHub Copilot bitten, Code mithilfe eines einzigen Ansatzes umzugestalten, um Konsistenz, Wartung und Leistung zu verbessern.

    Beispiel:

    
    Review the LINQ code used in the JsonData and JsonLoanRepository classes. Refactor the methods in the JsonPatronRepository class using LINQ queries. Ensure that existing code functionality is maintained.
    
    
  3. Der Agent ruft möglicherweise mehrere Tools auf, um verschiedene Aufgaben auszuführen. Wählen Sie optional das Symbol "Extras" aus, um zu konfigurieren, welche Tools für die Reaktion auf Ihre Anfrage verwendet werden können.

  4. Bestätigen Sie Toolaufrufe und Terminalbefehle.

    Bevor GitHub Copilot einen Terminalbefehl oder ein nicht integriertes Tool ausführt, fordert sie die Bestätigung an, den Vorgang fortzusetzen. Bestätigung ist erforderlich, da Tools möglicherweise lokal auf Ihrem Computer ausgeführt werden und Aktionen ausführen, die Dateien oder Daten ändern.

  5. GitHub Copilot erkennt Fehler und Probleme in Codeänderungen und Terminalbefehlen und wird iterieren und Aktionen ausführen, um diese zu beheben.

    Von Bedeutung

    Obwohl GitHub Copilot Selbstheilungsfähig ist, ist es möglicherweise nicht immer in der Lage, Probleme selbst zu lösen. Sie können den Prozess anhalten und mehr Kontext bereitstellen, um GitHub Copilot dabei zu helfen, das Problem besser zu verstehen. Sie können den Vorgang auch abbrechen und mit einer neuen Eingabeaufforderung beginnen.

  6. Überprüfen Sie die vorgeschlagenen Bearbeitungen, und akzeptieren oder verwerfen Sie die vorgeschlagenen Bearbeitungen.

  7. Testen Sie den umgestalteten Code, um sicherzustellen, dass er das erwartete Ergebnis generiert.

    Der Agent sollte Probleme eigenständig beheben, aber Sie sollten den Code dennoch testen, um sicherzustellen, dass er wie erwartet funktioniert.

    Sie können Änderungen, die der Agent vorgenommen hat, mithilfe der Schaltfläche Rückgängig in der Chatansicht rückgängig machen. Sie können auch die Option "Zurücksetzen " im Editor verwenden, um vom Agent vorgenommene Änderungen wiederhergestellt zu können.

Wann sollte man sich für den Agent anstatt für den Plan entscheiden?

Berücksichtigen Sie die folgenden Kriterien, um zwischen Plan und Agent zu wählen:

  • Planung: Die Planung erstellt einen strukturierten, schrittweisen Implementierungsplan, bevor Code geschrieben wird. Der Agent bestimmt autonom den relevanten Kontext und die zu bearbeitenden Dateien und beginnt direkt mit änderungen.
  • Aufgabenkomplexität: Der Agent eignet sich besser für komplexe Aufgaben, die sowohl Codebearbeitungen als auch den Aufruf von Tools oder Terminalbefehlen erfordern.
  • Dauer: Der Agent verwendet mehrere Schritte zum Verarbeiten einer Anforderung, sodass es möglicherweise länger dauert, um eine Antwort zu generieren. Um z. B. den relevanten Kontext und die zu bearbeitenden Dateien zu bestimmen, bestimmen Sie den Aktionsplan und vieles mehr.
  • Selbstheilung: Der Agent wertet das Ergebnis der generierten Bearbeitungen aus und kann mehrmals iterieren, um Zwischenprobleme zu beheben.
  • Anforderungskontingent: Wenn Sie den Agent-Modus verwenden, kann je nach Komplexität der Aufgabe eine Eingabeaufforderung zu vielen Anforderungen an das Back-End führen.

Zusammenfassung

GitHub Copilot können zum Umgestalten von Code in Ihrer Codebasis verwendet werden. Sie können die Chatansichts-Agents verwenden, um Codeumgestaltungsaufgaben zu analysieren, zu planen und zu implementieren. Die Chatansicht enthält drei integrierte Agenten: Ask, Plan und Agent. Mithilfe von "Ask" können Sie Fragen zu Ihrer Codebasis oder zu Technologiekonzepten stellen. Sie können Plan verwenden, um einen strukturierten Implementierungsplan zu erstellen, bevor Sie Code schreiben. Sie können den Agent verwenden, um einen agentischen Codierungsworkflow zu starten.