Generování kódu pomocí návrhů pro dokončování kódu GitHub Copilot
GitHub Copilot může poskytovat návrhy na dokončování kódu pro mnoho programovacích jazyků a širokou škálu architektur, ale funguje zvlášť dobře pro Python, JavaScript, TypeScript, Ruby, Go, C# a C++. Dokončování řádků kódu se generuje na základě kontextu kódu, který píšete. Návrhy poskytnuté GitHub Copilot můžete přijmout, odmítnout nebo částečně přijmout.
GitHub Copilot nabízí dva způsoby generování dokončování řádků kódu:
Z komentáře: Dokončení řádku kódu můžete vygenerovat napsáním komentáře, který popisuje kód, který chcete vygenerovat. GitHub Copilot poskytuje návrhy pro dokončování kódu na základě komentáře, který píšete.
Z kódu: Dokončení řádku kódu můžete vygenerovat spuštěním řádku kódu nebo stisknutím klávesy Enter po dokončení řádku kódu. GitHub Copilot poskytuje návrhy pro dokončování kódu na základě kódu, který napíšete.
Použijte GitHub Copilot pro generování doplnění kódu z komentáře.
GitHub Copilot vygeneruje návrhy dokončení kódu na základě komentáře a existujícího kontextu vaší aplikace.
Komentáře můžete použít k popisu fragmentů kódu, metod, datových struktur a dalších prvků kódu.
Předpokládejme, že máte následující fragment kódu:
namespace ReportGenerator;
class QuarterlyIncomeReport
{
static void Main(string[] args)
{
// create a new instance of the class
QuarterlyIncomeReport report = new QuarterlyIncomeReport();
// call the GenerateSalesData method
// call the QuarterlySalesReport method
}
public void QuarterlySalesReport()
{
Console.WriteLine("Quarterly Sales Report");
}
}
Například následující komentář lze použít k vytvoření datové struktury:
/* public struct SalesData. Include the following fields: date sold, department name, product ID, quantity sold, unit price */
GitHub Copilot vygeneruje jeden nebo více návrhů pro dokončování kódu na základě komentáře kódu a souborů kódu, které jsou v editoru otevřené.
Všimněte si datových typů použitých k deklaraci polí datové struktury. GitHub Copilot vybere datové typy a názvy proměnných na základě existujícího kódu a komentáře ke kódu. GitHub Copilot se pokusí určit, jak aplikace používá proměnné a podle toho definuje datové typy.
Když GitHub Copilot vygeneruje více návrhů, můžete procházet návrhy tak, že vyberete šipky doleva nebo doprava (> nebo <) umístěné vlevo od tlačítka Accept. To vám umožní zkontrolovat a vybrat návrh, který nejlépe vyhovuje vašim potřebám.
Je v pořádku přijmout návrh dokončení kódu, který není přesnou shodou s tím, co chcete. Změny potřebné k opravě návrhu by ale měly být jasné. V tomto případě některé datové typy nejsou to, co chcete, ale po přijetí navrhovaného automatického dokončování je můžete upravit.
Pokud se žádná z navrhovaných možností podobá tomu, co potřebujete, můžete zkusit dvě možnosti. Pokud chcete otevřít novou kartu editoru obsahující seznam dalších návrhů, stiskněte klávesy Ctrl + Enter . Tato kombinace klávesových zkratek otevře novou kartu obsahující až 10 dalších návrhů. Za každým návrhem následuje tlačítko, které můžete použít k přijetí návrhu. Karta se po přijetí návrhu automaticky zavře. Druhou možností je stisknout klávesu Esc, zavřít návrhy a zkusit to znovu. Můžete upravit komentář ke kódu, abyste poskytli kontext pro GitHub Copilot.
Poznámka:
GitHub Copilot může občas navrhnout návrh ve fázích. Pokud k tomu dojde, můžete po stisknutí klávesy Tab zobrazit další fáze návrhu stisknutím klávesy Enter.
Pokud chcete přijmout navrženou datovou strukturu, stiskněte klávesu Tab nebo vyberte Přijmout.
Pokud chcete upravit datové typy polí, aktualizujte kód následujícím způsobem:
public struct SalesData
{
public DateOnly dateSold;
public string departmentName;
public int productID;
public int quantitySold;
public double unitPrice;
}
Rychlé úpravy návrhů pro dokončování kódu vám pomůžou zajistit, že vytváříte požadovaný kód. Zvlášť důležité je provést opravy v rané fázi procesu vývoje, když je potřeba vyvíjet velké části základu kódu. Následné dokončování kódu vychází z kódu, který jste už napsali, takže je důležité zajistit, aby byl váš kód co nejpřesnější.
Následujte další doporučení pro úpravy kódu, abyste sledovali změny.
Automatické doplňování textu je efektivní při vyplňování nového kódu při psaní. Většina každodenního kódování ale zahrnuje úpravy existujícího kódu – přejmenování proměnné, aktualizaci datového typu nebo opravu chyby logiky. GitHub Copilot návrhy budoucích úprav (NES) jsou určeny přesně pro tento scénář.
Když provedete úpravy, NES analyzuje změnu a předpovídá, kde by měla proběhnout vaše další úprava a co by tato úprava měla obsahovat – i když je na jiném řádku nebo v jiné části souboru. Díky tomu zůstanete v obraze a nebudete muset ručně vyhledávat všechna místa, která vyžadují aktualizace.
Pokud chcete povolit další návrhy úprav, nastavte nastavení github.copilot.nextEditSuggestions.enabled na true v Visual Studio Code.
Po povolení můžete používat neS následujícími způsoby:
Proveďte úpravy v editoru – například přejmenujte proměnnou nebo změňte podpis metody.
Vyhledejte šipku okraje, která se zobrazí vlevo od editoru. Šipka ukazuje na umístění další navrhované úpravy.
Stisknutím klávesy Tab přejděte do navrhovaného umístění pro úpravy.
Pokud chcete návrh přijmout, stiskněte znovu klávesu Tab , nebo ho zavřete stisknutím klávesy Escape .
Tady je několik běžných scénářů, ve kterých je zvlášť užitečná neS:
- Přejmenování šíření: Přejmenujte proměnnou jednou a NES navrhne aktualizaci všech ostatních odkazů na ni v souboru.
- Změny typu: Změna datového typu pole a NES navrhuje aktualizaci podřízeného kódu, který ho používá.
- Opravy logiky: Oprava invertované podmínky nebo překlepu v klíčovém slově a NES označí související část kódu, která vyžaduje aktualizace.
- Refaktoring: Po zkopírování a vložení bloku kódu navrhuje NES, jak ho přizpůsobit stylu okolního kódu.
Poznámka:
Další návrhy úprav předpovídají nejpravděpodobnější další změnu na základě aktuálních úprav. Před přijetím každého návrhu vždy zkontrolujte, protože správná oprava pro váš konkrétní scénář se může lišit.
Shrnutí
Dokončování řádků kódu je výkonná funkce GitHub Copilot, která vám může pomoct rychle a efektivně generovat kód. Pomocí komentářů k popisu kódu, který chcete vygenerovat, můžete vytvářet datové struktury, metody a další prvky kódu s minimálním úsilím. Kromě toho GitHub Copilot může generovat dokončování řádků kódu na základě zadaného kódu, což umožňuje snadno vytvářet složité aplikace.