A GitHub Copilot kódkiegészítési funkcióinak vizsgálata
GitHub Copilot automatikus kiegészítési stílusú javaslatokat nyújt a kód beírása közben. A szabványos automatikus kiegészítési javaslatok mellett GitHub Copilot a következő szerkesztési javaslatokat (NES) is tartalmazza, amelyek előrejelzik a következő, valószínűleg végzett szerkesztés helyét, és javasolják a befejezést.
Az alábbi műveletek végrehajtásakor automatikus kiegészítési stílusú javaslatokat kap:
- Adjon meg egy részleges vagy teljes kódsort a szerkesztőben.
- Adjon meg egy részleges vagy teljes kód megjegyzést a szerkesztőben.
- Adjon meg egy üres kódsort a szerkesztőben.
A következő szerkesztési javaslatok automatikusan megjelennek a kód szerkesztésekor. A legutóbbi módosítások alapján előrejelezik, hogy milyen módosításokat fog végezni, és egy speciális jelzővel jelennek meg, amely a javasolt szerkesztési helyet jeleníti meg.
Automatikus kiegészítési javaslat létrehozása
GitHub Copilot felgyorsítja az alkalmazásfejlesztést azáltal, hogy az éppen írt kód alapján kódkiegészítéseket javasol.
Tegyük fel például, hogy létre szeretne hozni egy addInt nevű C# metódust, amely két egész szám összegét adja vissza. Ha elkezdi beírni a metódus szignatúráját, a GitHub Copilot javaslatot tesz a létrehozni kívánt kódra.
A javasolt automatikus kiegészítés színes szintaxiskiemelés nélkül jelenik meg. Ez segít megkülönböztetni az automatikus kiegészítést a meglévő kódtól. A javasolt kódot a Tab billentyű lenyomásával fogadhatja el.
A javaslatok elvetéséhez nyomja le az Esc billentyűt.
A addInt példa kissé leegyszerűsített, ezért kíváncsi lehet, hogyan működik a GitHub Copilot valami összetettebb dologgal.
Tegyük fel, hogy olyan metódust szeretne létrehozni, amely elfogadja a számok listáját, és visszaadja a listában szereplő prímszámok összegét. Nevezze el a metódust addPrimeNumbersInNumericList. Amikor elkezdi beírni a metódus-aláírást, GitHub Copilot létrehoz önnek egy javaslatot. Például:
A javaslatok elfogadása előtt fontos áttekinteni a javaslatokat. Ez az automatikus kiegészítés jól néz ki, így a Tab billentyű lenyomásával elfogadhatja a javaslatot.
Folytassuk a forgatókönyvet egy kicsit tovább.
Miután a javaslatot egyesítette a kóddal, láthatja, hogy a isPrime metódus pirossal van aláhúzva. Ennek az az oka, hogy a isPrime metódus még nem létezik a kódban.
A GitHub Copilotot az ajánlott eljárások követésére tanították be, amely magában foglalja az összetett problémák kisebb, kezelhetőbb részekre való lebontását. Ebben az esetben GitHub Copilot azt javasolja, hogy hozzon létre egy külön isPrime metódust annak ellenőrzéséhez, hogy egy szám prímérték-e.
GitHub Copilot készen áll, javasoljon egy kódrészletet a isPrime metódushoz. Amikor a addPrimeNumbersInNumericList metódus alá ír be egy üres sort, GitHub Copilot egy használható isPrime metódust javasol.
Az automatikus kiegészítési javaslatok kódrészletek megadásával felgyorsítják a fejlesztési folyamatot. De mi a teendő, ha a javaslatok nem éppen az, amire szüksége van? GitHub Copilot felületet biztosít az automatikus kiegészítési javaslatok kezeléséhez.
Automatikus kiegészítési javaslatok kezelése
Amikor GitHub Copilot automatikus kiegészítést javasol, a javaslatok kezeléséhez is biztosít felületet. Elfogadhat egy javaslatot, áttekintheti az egyéb javaslatokat, vagy elvetheti a javaslatokat.
Ha az egérmutatót egy javasolt automatikus kiegészítés fölé viszi, számos lehetőséget kínál a javaslatok kezelésére.
A javaslatok kezelésére szolgáló alapértelmezett felület a következő lehetőségeket tartalmazza:
- Fogadja el a javaslatot (teljes egészében) a Elfogadáslehetőség választásával. A javaslatot a Tab billentyű lenyomásával is elfogadhatja.
- Részben fogadja el a javaslatot a Accept Word kiválasztásával. A javaslatot részben is elfogadhatja a
Ctrl+→(jobbra nyíl) billentyűk lenyomásával. - Alternatív javaslatok megtekintése a
>vagy<kiválasztásával. Az alternatív javaslatokat aAlt+]vagyAlt+[billentyű lenyomásával is megtekintheti.
Ha az Accept Word lehetőséget választja, elfogadja a javaslat következő szavát. Ez akkor hasznos, ha el szeretné fogadni a javaslat egy részét, majd folytatni szeretné a saját kód beírását. Elfogadhatja például a isPrime metódusjavaslat első szavát.
Folytassa a Accept Word kiválasztását, amíg el nem fogadja a javaslat kívánt részét.
Az Elfogadás gombtól jobbra található három pont ikonra kattintva elérhet további lehetőségeket, például Always Show Toolbar és Kiegészítések panel megnyitása.
Az Eszköztár mindig megjelenítése beállítás kiválasztásával biztosítható, hogy az eszköztár látható maradjon az automatikus kiegészítési javaslatok kezelése billentyűparancsok használatakor. A Kiegészítések panel beállítás kiválasztásával megnyílik a GitHub Copilot Kiegészítések panel. A GitHub Copilot Befejezések panelje segítségével több javaslat megtekintése az egység végén kerül bemutatásra.
Megjegyzés:
Egy javaslat teljes sorának elfogadásához konfigurálnia kell egy egyéni billentyűparancsot a editor.action.inlineSuggest.acceptNextLine parancshoz. Ez a beállítás alapértelmezés szerint nem érhető el az eszköztárban.
Kódjavaslatok létrehozása megjegyzésekből
Amellett, hogy kódalapú automatikus kiegészítést javasol, GitHub Copilot kódmegjegyzések használatával kódrészleteket javasolhat. Természetes nyelvi kifejezésekkel írja le a létrehozni kívánt kódot. Ez lehetővé teszi, hogy GitHub Copilot adott követelményeknek megfelelő automatikus kiegészítési javaslatokat javasoljon. Megadhatja például a számításhoz használni kívánt algoritmus típusát, vagy azt, hogy mely metódusokat és tulajdonságokat szeretné hozzáadni egy osztályhoz.
Térjünk vissza a prímszám példához. Ezen a ponton a következő kóddal rendelkezik:
A addPrimeNumbersInNumericList és isPrime metódusok teljesnek tűnnek. A addPrimeNumbersInNumericList metódus meghívásakor azonban továbbra is szükség van az argumentumként használható számok listájára. A kívánt számok listáját leíró megjegyzést írhat. Például egy 100 véletlenszerű számból álló lista, amely 1 és 1000 közé esik.
Amikor elkezdi beírni a megjegyzést, GitHub Copilot egy automatikus kiegészítést javasol, amely befejezi a megjegyzést. GitHub Copilot a környező kód használatával javítja a javaslatokat. Ha például elkezdi beírni a megjegyzést // create, GitHub Copilot a környező kód használatával előrejelzi, hogy mit szeretne létrehozni. Ebben az esetben GitHub Copilot a addPrimeNumbersInNumericList metódus használatával előrejelzi, hogy létre szeretne hozni a list of numbers.
A megjegyzés írása közben GitHub Copilot frissíti az automatikus kiegészítési javaslatot. Ha készen áll a javaslat elfogadására, válassza az Elfogadás lehetőséget, vagy nyomja le a Tab billentyűt.
Amikor a megjegyzés után új kódsort hoz létre, GitHub Copilot elkezd kódrészletet létrehozni a megjegyzés és a meglévő kód alapján.
GitHub Copilot által hozzáadott első kódsort bemutató képernyőkép.
Fogadja el a megjelenő javaslatokat.
Ha a GitHub Copilot nincs kész, újabb javaslatot alkot meg, amelyet elfogadhat.
Ha a kódrészlet befejezése után új kódsort ad meg, GitHub Copilot a kódprojekt követelményei alapján újabb automatikus kiegészítési javaslatokat hoz létre. Ebben az esetben a GitHub Copilot egy kódsort javasol, amely meghívja a addPrimeNumbersInNumericList metódust, átadva a numbers nevű listát.
Több javaslat megtekintése a GitHub Copilot Befejezések panelen
Ha nem elégedett a kezdeti automatikus kiegészítési javaslatokkal, GitHub Copilot megnyithat egy új lapot a szerkesztőben további lehetőségekkel. Áttekintheti a javaslatok nagyobb listáját, hogy jobb egyezést találjon, majd jelölje ki.
Ennek a funkciónak a bemutatásához térjünk vissza a prímszámok példájának egy korábbi szakaszához.
Tegyük fel, hogy továbbra is létre kell hoznia a isPrime metódust. Amikor a addPrimeNumbersInNumericList metódus alá ír be egy üres sort, GitHub Copilot egy isPrime metódust javasol Önnek. Ez ugyanaz a folyamat, mint korábban. Tegyük fel azonban, hogy nem elégedett az GitHub Copilot által kínált javaslatokkal, és további lehetőségeket szeretne látni.
A GitHub Copilot Befejezések panel megnyitásához és az egyéb javaslatok megtekintéséhez nyomja le a Ctrl + Enter billentyűket. A További műveletek menüt is megnyithatja, és kiválaszthatja a Befejezések panel megnyitása lehetőséget.
A GitHub Copilot Befejezések panel legfeljebb 10 további javaslatot jelenít meg. Tekintse át a javaslatokat, hogy megtalálja az igényeinek leginkább megfelelőt.
Ha el szeretne fogadni egy javaslatot, a javaslat alatt válassza a Javaslatszám elfogadása címkét. Válassza például az Első javaslat elfogadása feliratot az első javaslat alatt.
Az összes javaslat elutasításához zárja be a fület.
Összefoglalás
Az automatikus kiegészítési javaslatok és a következő szerkesztési javaslatok segítenek a kód hatékonyabb és pontosabb írásában. GitHub Copilot automatikus kiegészítési javaslatokat biztosít a kód beírása közben, és a következő szerkesztési javaslatokat, amelyek előrejelezik a következő valószínű szerkesztést. Automatikus kiegészítési javaslatot úgy hozhat létre, hogy beír egy részleges vagy teljes kódsort, egy részleges vagy teljes kód megjegyzést, vagy egy üres kódsort. A tabulátorbillentyűvel elfogadhat javaslatot, vagy az Esc billentyű lenyomásával elvetheti a javaslatokat. A javaslatok kezelése az eszköztár használatával történik, amely akkor jelenik meg, amikor rámutat egy javaslatra. Az eszköztár segítségével áttekintheti az alternatív javaslatokat, elfogadhat egy javaslatot, elfogadhat egy javaslat részét, vagy megnyithatja a GitHub Copilot Kiegészítések panelt a további javaslatok megtekintéséhez.