Umgestalten von Code mithilfe von GitHub Copilot Inline Chat

Abgeschlossen

Mit dem Inline-Chat-Feature von GitHub Copilot können Sie Code direkt im Code-Editor umgestalten. Inlinechat ist nützlich, wenn Sie Änderungen an Ihrem Code vornehmen möchten, ohne zur Chatansicht wechseln zu müssen.

Grundlegendes zu Ihrem Code

Bevor Sie Ihren Code umgestalten, ist es wichtig, den Code zu verstehen, mit dem Sie arbeiten. Sie sollten den Zweck des Codes, die Funktionsweise und alle eventuellen Abhängigkeiten verstehen. Wenn Sie mit dem Code nicht vertraut sind, nehmen Sie sich etwas Zeit, um ihn zu lesen und seine Struktur und Logik zu verstehen. Mithilfe von GitHub Copilot zum Analysieren des Codes können Sie Verbesserungsbereiche identifizieren und Umgestaltungsoptionen vorschlagen.

Sie können das Inlinechat-Feature verwenden, um Fragen zum Code zu stellen, Erläuterungen zu bestimmten Teilen zu erhalten oder Verbesserungsvorschläge anzufordern. Sie können beispielsweise GitHub Copilot bitten, zu erläutern, wie eine bestimmte Funktion funktioniert, oder Möglichkeiten zur Optimierung vorschlagen. Sie können auch das Inlinechat-Feature verwenden, um Hilfe zu bestimmten Codierungsaufgaben zu erhalten, z. B. um eine Funktion umgestalten oder die Lesbarkeit von Code zu verbessern.

Hier sind einige Beispiele für Eingabeaufforderungen, die GitHub Copilot um Hilfe zu Code bitten:

/explain Explain how authentication is implemented in this code
/explain Can this code be updated to improve security? Explain the concepts and show some examples

Wenn die Erklärung lang oder komplex ist, können Sie zur Chatansicht wechseln, um die Unterhaltung fortzusetzen. Sie können auch die Chatansicht verwenden, um Nachverfolgungsfragen zu stellen oder zusätzliche Informationen anzufordern.

Verwenden von Inlinechat zum Umgestalten von Code

Verwenden Sie das Inlinechat-Feature, wenn Sie einen Codeabschnitt umgestalten möchten, der eine bestimmte Aufgabe ausführt. Verwenden Sie für komplexere Änderungen, die das Aktualisieren mehrerer Dateien oder Projekte erfordern, einen der Chatansichtsmodi.

Führen Sie die folgenden Schritte aus, um Code mithilfe von Inline-Chat umzugestalten:

  1. Öffnen Sie die Datei, die den zu optimierenden Code enthält.

  2. Wählen Sie den Code aus, den Sie optimieren möchten.

  3. Öffnen Sie eine Inlinechatsitzung.

    Verwenden Sie die Tastenkombination STRG+I , um die Inlinechatsitzung zu öffnen. Alternativ können Sie editor Inline-Chat in einem der GitHub Copilot-Menüs auswählen.

  4. Geben Sie eine Eingabeaufforderung ein, die nach einer Optimierung fragt.

    Beispiel: Kann dieser Code verbessert werden?

  5. Überprüfen Sie die vorgeschlagene Codeaktualisierung.

    Copilot wendet das vorgeschlagene Code-Update direkt im Editor an, wo Sie es an Ort und Stelle überprüfen können, im vollständigen Kontext des umliegenden Codes.

  6. Wählen Sie "Annehmen" oder "Schließen " aus, um die vorgeschlagene Codeaktualisierung anzunehmen oder zu verwerfen.

    Wie bei allen Copilot-Vorschlägen überprüfen Sie, ob der überarbeitete Code ohne Fehler ausgeführt wird und das richtige Ergebnis erzeugt.

Im folgenden Beispiel wird veranschaulicht, wie Inline-Chat verwendet wird, um eine C#-Methode zu umgestalten, die Daten verarbeitet.

Die ursprüngliche Methode führt eine Datenbereinigung durch, erstellt eine Datentabelle und druckt dann den Inhalt der Tabelle. Durch das Kombinieren mehrerer Vorgänge in einer Methode ist es schwieriger, den Code zu verwalten und zu testen.

Sie können die ursprüngliche Methode umgestalten, indem Sie Inline Chat bitten, separate Methoden für jede der Aufgaben zu erstellen, die in der ursprünglichen Methode ausgeführt wurden.

Hier ist der ursprüngliche Code:

using System;
using System.Data;

public class DataProcessor
{
    public void ProcessData(string item, string price)
    {
        // Cleanse the data
        item = item.Trim();    // Remove leading and trailing whitespace
        price = price.Trim();  // Remove leading and trailing whitespace
        double priceValue = double.Parse(price);   // Convert price to a double
        // More cleansing operations can be added here

        // Create and print a DataTable
        DataTable table = new DataTable();
        table.Columns.Add("Item", typeof(string));
        table.Columns.Add("Price", typeof(double));
        table.Rows.Add(item, priceValue);
        foreach (DataRow row in table.Rows)
        {
            Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
        }
    }
}

// Example usage
class Program
{
    static void Main()
    {
        string item = "  Apple  ";
        string price = "  1.50  ";
        var processor = new DataProcessor();
        processor.ProcessData(item, price);
    }
}

Führen Sie die folgenden Schritte aus, um die ProcessData-Methode umzugestalten:

  1. Wählen Sie die ProcessData-Methode aus.

  2. Inlinechat öffnen.

  3. Geben Sie eine Eingabeaufforderung ein, in der Copilot aufgefordert wird, separate Methoden für jede Aufgabe zu erstellen, und drücken Sie dann die EINGABETASTE.

    Beispiel: Ich möchte die ProcessData-Methode umgestalten. Ich möchte eine Methode für die Datenbereinigung, eine Methode zum Drucken und eine Methode für die Datenverarbeitung.

  4. Überprüfen Sie die vorgeschlagene Codeaktualisierung.

    In diesem Beispiel schlägt Copilot eine umgestaltete Version der ursprünglichen Methode vor, die die Reinigungs- und Druckaufgaben in separate Methoden trennt.

    using System;
    using System.Data;
    
    public class DataProcessor
    {
        public void ProcessData(string item, string price)
        {
            (string cleansedItem, double cleansedPrice) = CleanseData(item, price);
            DataTable table = new DataTable();
            table.Columns.Add("Item", typeof(string));
            table.Columns.Add("Price", typeof(double));
            table.Rows.Add(cleansedItem, cleansedPrice);
            PrintData(table);
        }
    
        private (string, double) CleanseData(string item, string price)
        {
            string trimmedItem = item.Trim();
            string trimmedPrice = price.Trim();
            double priceValue = double.Parse(trimmedPrice);
            return (trimmedItem, priceValue);
        }
    
        private void PrintData(DataTable table)
        {
            foreach (DataRow row in table.Rows)
            {
                Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
            }
        }
    }
    
    // Example usage
    class Program
    {
        static void Main()
        {
            string item = "  Apple  ";
            string price = "  1.50  ";
            var processor = new DataProcessor();
            processor.ProcessData(item, price);
        }
    }
    

    In diesem Beispiel verbessert die Umgestaltung des ursprünglichen Codes die Modularität und erleichtert das Verständnis des Codes.

  5. Wählen Sie "Annehmen" oder "Schließen " aus, um die vorgeschlagene Codeaktualisierung anzunehmen oder zu verwerfen.

    In diesem Beispiel sieht der vorgeschlagene Code gut aus, sodass Sie "Annehmen" auswählen, um den umgestalteten Code auf Ihr Projekt anzuwenden.

    Wie bei allen Copilot-Vorschlägen überprüfen Sie, ob der überarbeitete Code ohne Fehler ausgeführt wird und das richtige Ergebnis erzeugt.

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

Zusammenfassung

Mit dem Inline-Chat-Feature von GitHub Copilot können Sie Code direkt im Code-Editor umgestalten. Inlinechat ist nützlich, wenn Sie Änderungen an Ihrem Code vornehmen möchten, ohne zur Chatansicht wechseln zu müssen. Sie können Inline-Chat verwenden, um Hilfe zu bestimmten Codierungsaufgaben zu erhalten, z. B. um eine Funktion zu refaktorieren oder die Lesbarkeit des Codes zu verbessern. Sie können auch Inline-Chat verwenden, um Ihren vorhandenen Code vor der Umgestaltung auszuwerten.