Refactor-kode ved hjælp af GitHub Copilot Inline Chat
GitHub Copilots indbyggede chatfunktion giver dig mulighed for at omstrukturere kode direkte i kodeeditoren. Indbygget chat er nyttig, når du vil foretage ændringer af din kode uden at skulle skifte til chatvisningen.
Forstå din kode
Før du omstrukturerer din kode, er det vigtigt at forstå den kode, du arbejder med. Du skal forstå formålet med koden, hvordan den fungerer, og eventuelle afhængigheder, den måtte have. Hvis du ikke kender koden, kan du bruge lidt tid på at læse den igennem og forstå dens struktur og logik. Brug af GitHub Copilot til at analysere koden kan hjælpe dig med at identificere områder, der kan forbedres, og foreslå omstruktureringsmuligheder.
Du kan bruge funktionen Indbygget chat til at stille spørgsmål om koden, få forklaringer på bestemte dele eller anmode om forslag til forbedringer. Du kan f.eks. bede GitHub Copilot om at forklare, hvordan en bestemt funktion fungerer, eller foreslå måder at optimere den på. Du kan også bruge funktionen Indbygget chat til at bede om hjælp til specifikke kodningsopgaver, f.eks. omstrukturering af en funktion eller forbedring af kodelæsbarheden.
Her er nogle eksempler på prompts, der beder GitHub Copilot om hjælp til kode:
/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
Hvis forklaringen er lang eller kompleks, kan du flytte til chatvisningen for at fortsætte samtalen. Du kan også bruge chatvisningen til at stille opfølgende spørgsmål eller anmode om yderligere oplysninger.
Brug Indbygget chat til at omstrukturere kode
Brug funktionen Indbygget chat, når du vil omstrukturere en kodesektion, der udfører en bestemt opgave. Hvis du vil have mere komplekse ændringer, der involverer opdatering af flere filer eller projekter, skal du bruge en af chatvisningstilstandene.
Hvis du vil omstrukturere kode ved hjælp af Inline Chat, skal du følge disse trin:
Åbn den fil, der indeholder den kode, du vil optimere.
Vælg den kode, du vil optimere.
Åbn en indbygget chatsession.
Brug tastaturgenvejen Ctrl+I til at åbne den indbyggede chatsession. Du kan også vælge Editor Inline Chat i en af GitHub Copilot-menuerne.
Angiv en prompt, der beder om en optimering.
Eksempel: Kan denne kode forbedres?
Gennemse den foreslåede kodeopdatering.
Copilot anvender den foreslåede kodeopdatering direkte i editoren, hvor du kan gennemse den på stedet med den fulde kontekst af den omgivende kode.
Vælg Acceptér eller Luk for at acceptere eller kassere den foreslåede kodeopdatering.
Som med alle Copilot-forslag skal du kontrollere, at den reviderede kode kører uden fejl og giver det korrekte resultat.
Følgende eksempel viser, hvordan du bruger Inline Chat til at omstrukturere en C#-metode, der behandler data.
Den oprindelige metode udfører datarensning, opretter en datatabel og udskriver derefter indholdet af tabellen. Hvis du kombinerer flere handlinger til én metode, bliver det sværere at vedligeholde og teste din kode.
Du kan omstrukturere den oprindelige metode ved at bede Inline Chat om at oprette separate metoder for hver af de opgaver, der udføres i den oprindelige metode.
Her er den oprindelige kode:
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ølg disse trin for at omstrukturere metoden ProcessData:
Vælg metoden ProcessData.
Åbn indbygget chat.
Angiv en prompt, der beder Copilot om at oprette separate metoder for hver opgave, og tryk derefter på Enter.
Eksempel: Jeg vil omstrukturere metoden ProcessData. Jeg vil have en metode til datarensning, en metode til udskrivning og en metode til databehandling.
Gennemse den foreslåede kodeopdatering.
I dette eksempel foreslår Copilot en omstruktureret version af den oprindelige metode, der adskiller rensnings- og udskrivningsopgaverne i separate metoder.
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); } }I dette eksempel forbedrer omstruktureringen af den oprindelige kode modulariteten og gør det nemmere at forstå koden.
Vælg Acceptér eller Luk for at acceptere eller kassere den foreslåede kodeopdatering.
I dette eksempel ser den foreslåede kode godt ud, så du skal vælge Acceptér for at anvende den omstrukturerede kode på projektet.
Som med alle Copilot-forslag skal du kontrollere, at den reviderede kode kører uden fejl og giver det korrekte resultat.
Test den omstrukturerede kode for at sikre, at den kører uden fejl og genererer det forventede resultat.
Resumé
GitHub Copilots indbyggede chatfunktion giver dig mulighed for at omstrukturere kode direkte i kodeeditoren. Indbygget chat er nyttig, når du vil foretage ændringer af din kode uden at skulle skifte til chatvisningen. Du kan bruge Inline Chat til at bede om hjælp til specifikke kodningsopgaver, f.eks. omstrukturering af en funktion eller forbedring af kodelæsbarheden. Du kan også bruge Inline Chat til at evaluere din eksisterende kode, før du omstrukturerer.