Umgestalten von Code mithilfe von GitHub Copilot-Chatmodi

Abgeschlossen

GitHub Copilot kann zum Umgestalten von Code in Ihrer Codebasis verwendet werden. Sie können die Chatansichtsmodi verwenden, um Codeumgestaltungsaufgaben zu analysieren, zu planen und zu implementieren. Die Chatansichtsmodi bieten eine benutzerfreundliche Benutzeroberfläche für die Verwaltung von Chatunterhaltungen und den Zugriff auf die Features von GitHub Copilot. Die Chatansicht enthält die folgenden Chatmodi:

  • Fragmodus: Verwenden Sie den Fragmodus, um Fragen zu Ihrer Codebasis oder zu technologischen Konzepten zu stellen. Sie können den Fragenmodus verwenden, Code erläutern, Überarbeitungen oder Korrekturen vorschlagen oder Informationen zur Codebasis bereitstellen.
  • Bearbeitungsmodus: Verwenden Sie den Bearbeitungsmodus, um Bearbeitungen in mehreren Dateien in Ihrer Codebasis vorzunehmen. Sie können den Bearbeitungsmodus verwenden, um Code umzugestalten, Kommentare hinzuzufügen oder andere Änderungen an Ihrem Code vorzunehmen.
  • Agentmodus: Verwenden Sie den Agentmodus, um einen agentischen Codierungsworkflow zu starten. Sie können den Agentmodus verwenden, um Befehle auszuführen, Code auszuführen oder andere Aufgaben in Ihrem Arbeitsbereich auszuführen.

Von Bedeutung

Wenn Sie den Agentmodus verwenden, kann GitHub Copilot mehrere Premium-Anforderungen stellen, um eine einzelne Aufgabe abzuschließen. Premium-Anfragen können durch benutzerinitiierte Eingabeaufforderungen und Folgeaktionen verwendet werden, die Copilot in Ihrem Auftrag ausführt. 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 des Fragemodus zum Umgestalten von Code

Sie können den Fragenmodus verwenden, um Hilfe beim Codieren von Aufgaben zu erhalten, schwierige Konzepte zu verstehen und Ihren Code zu verbessern. Der Ask-Modus wurde für interaktive Unterhaltungen mit Copilot Chat entwickelt. Sie können Fragen stellen, Erklärungen erhalten oder Vorschläge in Echtzeit anfordern.

  1. Öffnen Sie die Chatansicht im Fragemodus.

  2. Fügen Sie dem Chat Kontext hinzu.

    Der Abfragemodus unterstützt Chatteilnehmer, Slash-Befehle und Chatvariablen. Sie können den @workspace 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 beispielsweise GitHub Copilot bitten, Ihnen dabei zu helfen, Ihren vorhandenen Authentifizierungscode zu verstehen und die aktuelle Methode mithilfe von 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:

    @workspace 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 des Bearbeitungsmodus zum Umgestalten von Code

Sie können den Bearbeitungsmodus verwenden, wenn Sie genauere Kontrolle über die Änderungen haben möchten, die Copilot vorschlägt. Im Bearbeitungsmodus wählen Sie aus, an welchen Dateien Copilot Änderungen vornehmen kann, den Kontext für Copilot bei jeder Iteration bereitstellen und entscheiden, ob die vorgeschlagenen Bearbeitungen akzeptiert werden sollen.

Tipp

Verwenden Sie den Fragemodus, um den Code auszuwerten, den Sie für die Umgestaltung interessieren, und bewerten Sie Ihre Optionen, bevor Sie mit dem Vornehmen von Änderungen beginnen. Sie können den Bearbeitungsmodus verwenden, um die Änderungen an Ihrem Code vorzunehmen.

  1. Öffnen Sie die Chatansicht im Bearbeitungsmodus.

  2. Fügen Sie dem Chat Kontext hinzu.

    Der Bearbeitungsmodus unterstützt keine Chatteilnehmer. 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 die vorgeschlagenen Bearbeitungen im Code-Editor.

  5. 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.

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

Verwenden des Agentmodus zum Umgestalten von Code

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

Im Agent-Modus können Sie eine natürliche Sprache verwenden, um eine übergeordnete Aufgabe anzugeben, und dabei Copilot autonom über die Anforderung nachdenken, die notwendigen Maßnahmen planen und die Änderungen an Ihrer Codebasis vornehmen lassen. Der Agentmodus 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 Agentmodus verwenden, kann GitHub Copilot mehrere Premium-Anforderungen stellen, um eine einzelne Aufgabe abzuschließen. Premium-Anfragen können durch benutzerinitiierte Eingabeaufforderungen und Folgeaktionen verwendet werden, die Copilot in Ihrem Auftrag ausführt. 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 im Agentmodus.

  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 Agentmodus 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 Copilot einen Terminalbefehl oder ein nicht integriertes Tool ausführt, fordert er 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. Copilot erkennt Schwierigkeiten und Probleme bei Codebearbeitungen und Terminalbefehlen und wird iterieren und Aktionen ausführen, um sie zu beheben.

    Von Bedeutung

    Obwohl Copilot Selbstheilungsfähig ist, kann es möglicherweise nicht immer probleme allein lösen. Sie können den Prozess anhalten und mehr Kontext bereitstellen, um Copilot dabei zu helfen, das Problem 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 Agentmodus sollte Probleme einzeln beheben, aber Sie sollten den Code dennoch testen, um sicherzustellen, dass er wie erwartet funktioniert.

    Mit der Schaltfläche Rückgängig in der Chatansicht können Sie Bearbeitungen, die im Agentmodus vorgenommen wurden, zurücksetzen. Sie können auch die Option "Wiederherstellen " im Editor verwenden, um änderungen zurück zu setzen, die vom Agentmodus vorgenommen wurden.

Wann Sie den Agentmodus dem Bearbeitungsmodus vorziehen sollten

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

  • Bearbeitungsbereich: Der Agentmodus bestimmt autonom den relevanten Kontext und die zu bearbeitenden Dateien. Im Bearbeitungsmodus müssen Sie den Kontext selbst angeben.
  • Aufgabenkomplexität: Der Agentmodus eignet sich besser für komplexe Aufgaben, die sowohl Codebearbeitungen als auch den Aufruf von Tools oder Terminalbefehlen erfordern.
  • Dauer: Der Agentmodus 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.
  • Self-Healing: Der Agentmodus wertet das Ergebnis der generierten Bearbeitungen aus und kann mehrfach iterieren, um zwischenzeitliche Probleme zu beheben.
  • Anforderungskontingent: Im Agent-Modus kann je nach Komplexität der Aufgabe eine Eingabeaufforderung zu vielen Anforderungen an das Back-End führen.

Zusammenfassung

GitHub Copilot kann zum Umgestalten von Code in Ihrer Codebasis verwendet werden. Sie können die Chatansichtsmodi verwenden, um Codeumgestaltungsaufgaben zu analysieren, zu planen und zu implementieren. Die Chatansicht enthält drei Chatmodi: Fragenmodus, Bearbeitungsmodus und Agentmodus. Sie können den Fragemodus verwenden, um Fragen zu Ihren Codebasis- oder Technologiekonzepten zu stellen. Sie können den Bearbeitungsmodus verwenden, um Bearbeitungen in mehreren Dateien in Ihrer Codebasis vorzunehmen. Sie können den Agentmodus verwenden, um einen agentischen Codierungsworkflow zu starten.