ตรวจสอบคุณสมบัติการเติมโค้ดของ GitHub Copilot
GitHub Copilot ให้คําแนะนําแบบอินไลน์สองประเภท คําแนะนําข้อความโกสต์ จะปรากฏเป็นข้อความจางที่ตําแหน่งเคอร์เซอร์ปัจจุบันของคุณขณะที่คุณพิมพ์ คําแนะนําการแก้ไขครั้งถัดไป (NES) จะคาดการณ์ทั้งตําแหน่งและเนื้อหาของการแก้ไขโค้ดครั้งต่อไปโดยอิงจากการเปลี่ยนแปลงล่าสุดที่คุณทํา
คุณได้รับคําแนะนําข้อความโกสต์เมื่อคุณดําเนินการต่อไปนี้:
- ป้อนบรรทัดโค้ดบางส่วนหรือแบบสมบูรณ์ในตัวแก้ไข
- ป้อนข้อคิดเห็นของโค้ดบางส่วนหรือแบบสมบูรณ์ในตัวแก้ไข
- ป้อนบรรทัดรหัสว่างในตัวแก้ไข
คําแนะนําในการแก้ไขถัดไปจะปรากฏขึ้นโดยอัตโนมัติเมื่อคุณแก้ไขโค้ด โดยคาดการณ์ว่าคุณจะทําการเปลี่ยนแปลงใดต่อไปโดยอิงจากการแก้ไขล่าสุด และจะแสดงพร้อมกับตัวบ่งชี้พิเศษที่แสดงตําแหน่งการแก้ไขที่แนะนํา
สถานการณ์ทั่วไปของคําแนะนําการแก้ไขครั้งต่อไป
คําแนะนําการแก้ไขถัดไปมีประโยชน์อย่างยิ่งในสถานการณ์การเข้ารหัสสามสถานการณ์:
-
การจับข้อผิดพลาด: NES ตรวจพบปัญหาต่างๆ เช่น การพิมพ์ผิด (
conts x = 5→const x = 5) นิพจน์ไตรภาคกลับหัว และตัวดําเนินการเปรียบเทียบที่ไม่ถูกต้อง จากนั้นแนะนําการแก้ไขที่ถูกต้อง -
การเปลี่ยนแปลงเจตนาแบบเรียงซ้อน: เมื่อคุณเปลี่ยนชื่อประเภทหรือตัวแปร NES แนะนําให้เผยแพร่การเปลี่ยนแปลงนั้นผ่านโค้ดที่ขึ้นต่อกันทั้งหมด ตัวอย่างเช่น การเปลี่ยนชื่อคลาสจาก
Pointเป็นPoint3Dจะทริกเกอร์คําแนะนําในการเพิ่มzพิกัดทุกที่ที่โค้ดต้องการ - การปรับโครงสร้างใหม่: หลังจากที่คุณเปลี่ยนชื่อตัวแปรหนึ่งครั้ง NES แนะนําให้อัปเดตทุกครั้งที่เกิดขึ้น หลังจากวางโค้ดแล้ว NES แนะนําให้ปรับให้เข้ากับรูปแบบของโค้ดโดยรอบ
สร้างคําแนะนําข้อความผี
GitHub Copilot เร่งการพัฒนาแอปโดยแนะนําการเติมโค้ดตามโค้ดที่คุณกําลังเขียน
ตัวอย่างเช่น สมมติว่าคุณต้องการสร้างเมธอด C# ที่ส่งกลับ addInt ผลรวมของจํานวนเต็มสองจํานวน หากคุณเริ่มพิมพ์ลายเซ็นเมธอด GitHub Copilot จะแนะนําโค้ดที่เชื่อว่าคุณต้องการสร้าง
คําแนะนําข้อความโกสต์จะแสดงโดยไม่มีการเน้นไวยากรณ์สี วิธีนี้จะช่วยแยกความแตกต่างของคําแนะนําจากโค้ดที่มีอยู่ คุณสามารถยอมรับรหัสที่แนะนําได้โดยการกดปุ่ม Tab
คุณสามารถกดแป้น Esc เพื่อยกเลิกคําแนะนําได้
ตัวอย่าง addInt ค่อนข้างเรียบง่าย ดังนั้นคุณอาจสงสัยว่า GitHub Copilot ทําอย่างไรกับสิ่งที่ซับซ้อนกว่านี้
สมมติว่าคุณต้องการสร้างเมธอดที่ยอมรับรายการตัวเลขและส่งกลับผลรวมของจํานวนหลักที่มีอยู่ในรายการ คุณสามารถตั้งชื่อวิธีการ addPrimeNumbersInNumericList. เมื่อคุณเริ่มพิมพ์ลายเซ็นเมธอด GitHub Copilot จะสร้างคําแนะนําให้คุณ เช่น:
สิ่งสําคัญคือต้องตรวจทานคําแนะนําก่อนยอมรับคําแนะนําเหล่านั้น คําแนะนําข้อความผีนี้ดูดี คุณจึงยอมรับคําแนะนําได้โดยกดปุ่ม Tab
เรามาลองดูสถานการณ์ต่อกันอีกสักหน่อย
เมื่อรวมคําแนะนําเข้ากับโค้ดของคุณแล้ว คุณจะสังเกตเห็นว่าวิธีการถูก isPrime ขีดเส้นใต้ด้วยสีแดง นี่เป็นเพราะวิธีการยัง isPrime ไม่มีอยู่ในโค้ด
GitHub Copilot ได้รับการฝึกฝนให้ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด ซึ่งรวมถึงการแบ่งปัญหาที่ซับซ้อนออกเป็นชิ้นเล็กๆ ที่จัดการได้มากขึ้น ในกรณีนี้ GitHub Copilot แนะนําให้คุณสร้างเมธอด isPrime แยกต่างหากเพื่อตรวจสอบว่าตัวเลขเป็นจํานวนเฉพาะหรือไม่
GitHub Copilot พร้อมแล้วที่แนะนําข้อมูลโค้ดสําหรับเมธอด isPrime เมื่อคุณป้อนบรรทัดว่างด้านล่างเมธอด addPrimeNumbersInNumericList GitHub Copilot จะแนะนําเมธอด isPrime ที่คุณสามารถใช้ได้
คําแนะนําข้อความผีช่วยเร่งกระบวนการพัฒนาโดยให้ข้อมูลโค้ด แต่ถ้าคําแนะนําไม่ได้เป็นสิ่งที่คุณต้องการล่ะ? GitHub Copilot มีอินเทอร์เฟซสําหรับจัดการคําแนะนําข้อความผี
จัดการคําแนะนําข้อความโกสต์
เมื่อ GitHub Copilot แนะนําให้เติมข้อความผี จะมีอินเทอร์เฟซสําหรับจัดการคําแนะนําด้วย คุณสามารถยอมรับคําแนะนํา ตรวจทานคําแนะนําอื่น ๆ หรือยกเลิกคําแนะนําได้
เมื่อคุณวางตัวชี้เมาส์ไว้เหนือการกรอกข้อมูลอัตโนมัติที่แนะนํา คุณจะเห็นตัวเลือกมากมายสําหรับการจัดการคําแนะนํา
อินเทอร์เฟซเริ่มต้นสําหรับการจัดการคําแนะนําประกอบด้วยตัวเลือกต่อไปนี้:
- ยอมรับคําแนะนํา (แบบเต็ม) โดยเลือก ยอมรับ คุณยังสามารถยอมรับคําแนะนําได้โดยการกดปุ่ม Tab
- ยอมรับคําแนะนําบางส่วนโดยเลือก ยอมรับ Word คุณยังสามารถยอมรับคําแนะนําบางส่วนได้โดยการ
Ctrl+→กดปุ่ม (ลูกศรขวา) - ดูคําแนะนําอื่นโดยเลือก
>หรือ<คุณยังสามารถดูคําแนะนําทางเลือกได้โดยกดปุ่มAltหรือ +]Alt+[
การเลือกตัวเลือก ยอมรับ Word จะยอมรับ word ถัดไปในคําแนะนํา ซึ่งจะเป็นประโยชน์เมื่อคุณต้องการยอมรับคําแนะนําส่วนหนึ่ง จากนั้นพิมพ์โค้ดของคุณเองต่อไป ตัวอย่างเช่น คุณสามารถยอมรับคําแรกของ isPrime คําแนะนําวิธีการ
เลือก ยอมรับ Word ต่อไปจนกว่าคุณจะยอมรับคําแนะนํามากเท่าที่คุณต้องการ
การเลือกไอคอนจุดไข่ปลา (...) ทางด้านขวาของปุ่ม ยอมรับ Word จะมีตัวเลือกเพิ่มเติม เช่น ยอมรับบรรทัด และ แสดงแถบเครื่องมือเสมอ
การเลือกตัวเลือก แสดงแถบเครื่องมือเสมอ จะช่วยให้แน่ใจว่าแถบเครื่องมือจะยังคงมองเห็นได้เมื่อใช้แป้นพิมพ์ลัดเพื่อจัดการคําแนะนําข้อความโกสต์ การเลือกตัวเลือก เปิดแผงการเสร็จสมบูรณ์ จะเปิดแผงการเสร็จสมบูรณ์ GitHub Copilot
Note
หากต้องการยอมรับคําแนะนําทั้งบรรทัด คุณต้องกําหนดค่าแป้นพิมพ์ลัดแบบกําหนดเองสําหรับ editor.action.inlineSuggest.acceptNextLine คําสั่ง ตัวเลือกนี้ไม่พร้อมใช้งานตามค่าเริ่มต้นในแถบเครื่องมือ
สร้างคําแนะนํารหัสจากข้อคิดเห็น
นอกเหนือจากการแนะนําการเติมข้อความอัตโนมัติตามโค้ดแล้ว GitHub Copilot ยังสามารถใช้ความคิดเห็นของโค้ดเพื่อแนะนําข้อมูลโค้ดได้อีกด้วย ใช้วลีภาษาธรรมชาติเพื่ออธิบายรหัสที่คุณต้องการสร้าง สิ่งนี้ทําให้ GitHub Copilot สามารถเสนอคําแนะนําการเติมข้อความอัตโนมัติที่ตรงตามข้อกําหนดเฉพาะ ตัวอย่างเช่น คุณสามารถระบุชนิดของอัลกอริทึมที่คุณต้องการใช้ในการคํานวณ หรือวิธีการและคุณสมบัติที่คุณต้องการเพิ่มลงในคลาส
ลองกลับไปยังตัวอย่างจํานวนหลัก ในตอนนี้ คุณมีโค้ดต่อไปนี้:
int addPrimeNumbersInNumericList(List<int> numbers)
{
int sum = 0;
foreach (int number in numbers)
{
if (IsPrime(number))
{
sum += number;
}
}
return sum;
}
private bool IsPrime(int number)
{
if (number <= 1)
{
return false;
}
for (int i = 2; i <= Math.Sqrt(number); i++)
{
if (number % i == 0) return false;
}
return true;
}
วิธีการและaddPrimeNumbersInNumericListisPrimeดูเหมือนจะสมบูรณ์ อย่างไรก็ตาม คุณยังต้องการรายการตัวเลขที่สามารถใช้เป็นอาร์กิวเมนต์ได้เมื่อคุณเรียกใช้ addPrimeNumbersInNumericList เมธอด คุณสามารถเขียนข้อคิดเห็นที่อธิบายรายการตัวเลขที่คุณต้องการ ตัวอย่างเช่น รายการของตัวเลขสุ่ม 100 ตัวที่มีช่วงตั้งแต่ 1 และ 1000
เมื่อคุณเริ่มป้อนความคิดเห็น GitHub Copilot จะแนะนําการเติมข้อความอัตโนมัติที่ทําให้ความคิดเห็นเสร็จสมบูรณ์สําหรับคุณ GitHub Copilot ใช้โค้ดโดยรอบของคุณเพื่อปรับปรุงคําแนะนํา ตัวอย่างเช่น หากคุณเริ่มป้อนข้อคิดเห็น // create GitHub Copilot จะใช้โค้ดโดยรอบเพื่อคาดการณ์สิ่งที่คุณต้องการสร้าง ในกรณีนี้ GitHub Copilot ใช้เมธอด addPrimeNumbersInNumericList เพื่อคาดการณ์ว่าคุณต้องการสร้าง a list of numbers
ในขณะที่คุณเขียนความคิดเห็นของคุณต่อไป GitHub Copilot จะอัปเดตคําแนะนําการเติมข้อความอัตโนมัติ เมื่อคุณพร้อมที่จะยอมรับคําแนะนํา ให้เลือก ยอมรับ หรือกดแป้น Tab
เมื่อคุณสร้างบรรทัดโค้ดใหม่หลังจากความคิดเห็น GitHub Copilot จะเริ่มสร้างข้อมูลโค้ดตามความคิดเห็นและโค้ดที่มีอยู่ของคุณ
ยอมรับคําแนะนําแต่ละรายการตามที่ปรากฏ หาก GitHub Copilot ยังไม่เสร็จ จะสร้างคําแนะนําอื่นให้คุณยอมรับ
หากคุณป้อนบรรทัดโค้ดใหม่หลังจากที่ข้อมูลโค้ดเสร็จสมบูรณ์ GitHub Copilot จะสร้างคําแนะนําการเติมข้อความอัตโนมัติอื่นตามข้อกําหนดของโปรเจ็กต์โค้ดของคุณ
สรุป
คําแนะนําข้อความโกสต์และคําแนะนําในการแก้ไขครั้งต่อไปช่วยให้คุณเขียนโค้ดได้อย่างมีประสิทธิภาพและแม่นยํายิ่งขึ้น คําแนะนําข้อความโกสต์จะแสดงเป็นข้อความจางที่ตําแหน่งเคอร์เซอร์ขณะที่คุณป้อน คําแนะนําการแก้ไขครั้งถัดไปจะคาดเดาตําแหน่งและเนื้อหาของการแก้ไขครั้งต่อไปโดยอิงจากการเปลี่ยนแปลงล่าสุด คุณสามารถสร้างคําแนะนําข้อความโกสต์ได้โดยป้อนบรรทัดโค้ดบางส่วนหรือทั้งหมด ข้อคิดเห็นโค้ดบางส่วนหรือทั้งหมด หรือบรรทัดโค้ดว่าง คุณสามารถยอมรับคําแนะนําได้โดยการกดแป้น Tab หรือปิดคําแนะนําด้วยการกดแป้น Esc คุณสามารถจัดการคําแนะนําโดยใช้แถบเครื่องมือที่ปรากฏขึ้นเมื่อคุณวางเมาส์เหนือคําแนะนํา แถบเครื่องมือช่วยให้คุณสามารถตรวจสอบคําแนะนําอื่น ยอมรับคําแนะนํา ยอมรับคําแนะนําหนึ่งคํา หรือเปิดแผง GitHub Copilot Completions เพื่อดูคําแนะนําเพิ่มเติม