ตรวจสอบคุณสมบัติการเติมโค้ดของ GitHub Copilot

เสร็จสมบูรณ์เมื่อ

GitHub Copilot ให้คําแนะนําแบบอินไลน์สองประเภท คําแนะนําข้อความโกสต์ จะปรากฏเป็นข้อความจางที่ตําแหน่งเคอร์เซอร์ปัจจุบันของคุณขณะที่คุณพิมพ์ คําแนะนําการแก้ไขครั้งถัดไป (NES) จะคาดการณ์ทั้งตําแหน่งและเนื้อหาของการแก้ไขโค้ดครั้งต่อไปโดยอิงจากการเปลี่ยนแปลงล่าสุดที่คุณทํา

คุณได้รับคําแนะนําข้อความโกสต์เมื่อคุณดําเนินการต่อไปนี้:

  • ป้อนบรรทัดโค้ดบางส่วนหรือแบบสมบูรณ์ในตัวแก้ไข
  • ป้อนข้อคิดเห็นของโค้ดบางส่วนหรือแบบสมบูรณ์ในตัวแก้ไข
  • ป้อนบรรทัดรหัสว่างในตัวแก้ไข

คําแนะนําในการแก้ไขถัดไปจะปรากฏขึ้นโดยอัตโนมัติเมื่อคุณแก้ไขโค้ด โดยคาดการณ์ว่าคุณจะทําการเปลี่ยนแปลงใดต่อไปโดยอิงจากการแก้ไขล่าสุด และจะแสดงพร้อมกับตัวบ่งชี้พิเศษที่แสดงตําแหน่งการแก้ไขที่แนะนํา

สถานการณ์ทั่วไปของคําแนะนําการแก้ไขครั้งต่อไป

คําแนะนําการแก้ไขถัดไปมีประโยชน์อย่างยิ่งในสถานการณ์การเข้ารหัสสามสถานการณ์:

  • การจับข้อผิดพลาด: NES ตรวจพบปัญหาต่างๆ เช่น การพิมพ์ผิด (conts x = 5const x = 5) นิพจน์ไตรภาคกลับหัว และตัวดําเนินการเปรียบเทียบที่ไม่ถูกต้อง จากนั้นแนะนําการแก้ไขที่ถูกต้อง
  • การเปลี่ยนแปลงเจตนาแบบเรียงซ้อน: เมื่อคุณเปลี่ยนชื่อประเภทหรือตัวแปร NES แนะนําให้เผยแพร่การเปลี่ยนแปลงนั้นผ่านโค้ดที่ขึ้นต่อกันทั้งหมด ตัวอย่างเช่น การเปลี่ยนชื่อคลาสจาก Point เป็น Point3D จะทริกเกอร์คําแนะนําในการเพิ่ม z พิกัดทุกที่ที่โค้ดต้องการ
  • การปรับโครงสร้างใหม่: หลังจากที่คุณเปลี่ยนชื่อตัวแปรหนึ่งครั้ง NES แนะนําให้อัปเดตทุกครั้งที่เกิดขึ้น หลังจากวางโค้ดแล้ว NES แนะนําให้ปรับให้เข้ากับรูปแบบของโค้ดโดยรอบ

สร้างคําแนะนําข้อความผี

GitHub Copilot เร่งการพัฒนาแอปโดยแนะนําการเติมโค้ดตามโค้ดที่คุณกําลังเขียน

ตัวอย่างเช่น สมมติว่าคุณต้องการสร้างเมธอด C# ที่ส่งกลับ addInt ผลรวมของจํานวนเต็มสองจํานวน หากคุณเริ่มพิมพ์ลายเซ็นเมธอด GitHub Copilot จะแนะนําโค้ดที่เชื่อว่าคุณต้องการสร้าง

ภาพหน้าจอของตัวแก้ไข Visual Studio Code ที่แสดงคําแนะนําข้อความผีสําหรับเนื้อหาเมธอด addInt.

คําแนะนําข้อความโกสต์จะแสดงโดยไม่มีการเน้นไวยากรณ์สี วิธีนี้จะช่วยแยกความแตกต่างของคําแนะนําจากโค้ดที่มีอยู่ คุณสามารถยอมรับรหัสที่แนะนําได้โดยการกดปุ่ม Tab

คุณสามารถกดแป้น Esc เพื่อยกเลิกคําแนะนําได้

ตัวอย่าง addInt ค่อนข้างเรียบง่าย ดังนั้นคุณอาจสงสัยว่า GitHub Copilot ทําอย่างไรกับสิ่งที่ซับซ้อนกว่านี้

สมมติว่าคุณต้องการสร้างเมธอดที่ยอมรับรายการตัวเลขและส่งกลับผลรวมของจํานวนหลักที่มีอยู่ในรายการ คุณสามารถตั้งชื่อวิธีการ addPrimeNumbersInNumericList. เมื่อคุณเริ่มพิมพ์ลายเซ็นเมธอด GitHub Copilot จะสร้างคําแนะนําให้คุณ เช่น:

ภาพหน้าจอของตัวแก้ไข Visual Studio Code ที่แสดงคําแนะนําข้อความผีสําหรับเมธอด addPrimeNumbersInNumericList body.

สิ่งสําคัญคือต้องตรวจทานคําแนะนําก่อนยอมรับคําแนะนําเหล่านั้น คําแนะนําข้อความผีนี้ดูดี คุณจึงยอมรับคําแนะนําได้โดยกดปุ่ม Tab

เรามาลองดูสถานการณ์ต่อกันอีกสักหน่อย

เมื่อรวมคําแนะนําเข้ากับโค้ดของคุณแล้ว คุณจะสังเกตเห็นว่าวิธีการถูก isPrime ขีดเส้นใต้ด้วยสีแดง นี่เป็นเพราะวิธีการยัง isPrime ไม่มีอยู่ในโค้ด

GitHub Copilot ได้รับการฝึกฝนให้ปฏิบัติตามแนวทางปฏิบัติที่ดีที่สุด ซึ่งรวมถึงการแบ่งปัญหาที่ซับซ้อนออกเป็นชิ้นเล็กๆ ที่จัดการได้มากขึ้น ในกรณีนี้ GitHub Copilot แนะนําให้คุณสร้างเมธอด isPrime แยกต่างหากเพื่อตรวจสอบว่าตัวเลขเป็นจํานวนเฉพาะหรือไม่

GitHub Copilot พร้อมแล้วที่แนะนําข้อมูลโค้ดสําหรับเมธอด isPrime เมื่อคุณป้อนบรรทัดว่างด้านล่างเมธอด addPrimeNumbersInNumericList GitHub Copilot จะแนะนําเมธอด isPrime ที่คุณสามารถใช้ได้

ภาพหน้าจอของตัวแก้ไข Visual Studio Code ที่แสดงคําแนะนําข้อความโกสต์สําหรับเมธอดตัวช่วย isPrime ที่ปรากฏขึ้นหลังจากเมธอด addPrimeNumbersInNumericList.

คําแนะนําข้อความผีช่วยเร่งกระบวนการพัฒนาโดยให้ข้อมูลโค้ด แต่ถ้าคําแนะนําไม่ได้เป็นสิ่งที่คุณต้องการล่ะ? GitHub Copilot มีอินเทอร์เฟซสําหรับจัดการคําแนะนําข้อความผี

จัดการคําแนะนําข้อความโกสต์

เมื่อ GitHub Copilot แนะนําให้เติมข้อความผี จะมีอินเทอร์เฟซสําหรับจัดการคําแนะนําด้วย คุณสามารถยอมรับคําแนะนํา ตรวจทานคําแนะนําอื่น ๆ หรือยกเลิกคําแนะนําได้

เมื่อคุณวางตัวชี้เมาส์ไว้เหนือการกรอกข้อมูลอัตโนมัติที่แนะนํา คุณจะเห็นตัวเลือกมากมายสําหรับการจัดการคําแนะนํา

สกรีนช็อตของตัวแก้ไข Visual Studio Code ที่แสดงแถบเครื่องมือการจัดการคําแนะนําข้อความโกสต์พร้อมยอมรับ ยอมรับ Word การนําทาง และตัวเลือกเพิ่มเติม

อินเทอร์เฟซเริ่มต้นสําหรับการจัดการคําแนะนําประกอบด้วยตัวเลือกต่อไปนี้:

  • ยอมรับคําแนะนํา (แบบเต็ม) โดยเลือก ยอมรับ คุณยังสามารถยอมรับคําแนะนําได้โดยการกดปุ่ม 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

ภาพหน้าจอของตัวแก้ไข Visual Studio Code ที่แสดงคําแนะนําข้อความผีที่กรอกความคิดเห็นไปที่ '// สร้างรายการตัวเลข'

ในขณะที่คุณเขียนความคิดเห็นของคุณต่อไป GitHub Copilot จะอัปเดตคําแนะนําการเติมข้อความอัตโนมัติ เมื่อคุณพร้อมที่จะยอมรับคําแนะนํา ให้เลือก ยอมรับ หรือกดแป้น Tab

เมื่อคุณสร้างบรรทัดโค้ดใหม่หลังจากความคิดเห็น GitHub Copilot จะเริ่มสร้างข้อมูลโค้ดตามความคิดเห็นและโค้ดที่มีอยู่ของคุณ

ภาพหน้าจอของตัวแก้ไข Visual Studio Code ที่แสดงคําแนะนําข้อความโกสต์สําหรับบรรทัดแรกของโค้ดตามความคิดเห็นด้านบน

ยอมรับคําแนะนําแต่ละรายการตามที่ปรากฏ หาก GitHub Copilot ยังไม่เสร็จ จะสร้างคําแนะนําอื่นให้คุณยอมรับ

หากคุณป้อนบรรทัดโค้ดใหม่หลังจากที่ข้อมูลโค้ดเสร็จสมบูรณ์ GitHub Copilot จะสร้างคําแนะนําการเติมข้อความอัตโนมัติอื่นตามข้อกําหนดของโปรเจ็กต์โค้ดของคุณ

สรุป

คําแนะนําข้อความโกสต์และคําแนะนําในการแก้ไขครั้งต่อไปช่วยให้คุณเขียนโค้ดได้อย่างมีประสิทธิภาพและแม่นยํายิ่งขึ้น คําแนะนําข้อความโกสต์จะแสดงเป็นข้อความจางที่ตําแหน่งเคอร์เซอร์ขณะที่คุณป้อน คําแนะนําการแก้ไขครั้งถัดไปจะคาดเดาตําแหน่งและเนื้อหาของการแก้ไขครั้งต่อไปโดยอิงจากการเปลี่ยนแปลงล่าสุด คุณสามารถสร้างคําแนะนําข้อความโกสต์ได้โดยป้อนบรรทัดโค้ดบางส่วนหรือทั้งหมด ข้อคิดเห็นโค้ดบางส่วนหรือทั้งหมด หรือบรรทัดโค้ดว่าง คุณสามารถยอมรับคําแนะนําได้โดยการกดแป้น Tab หรือปิดคําแนะนําด้วยการกดแป้น Esc คุณสามารถจัดการคําแนะนําโดยใช้แถบเครื่องมือที่ปรากฏขึ้นเมื่อคุณวางเมาส์เหนือคําแนะนํา แถบเครื่องมือช่วยให้คุณสามารถตรวจสอบคําแนะนําอื่น ยอมรับคําแนะนํา ยอมรับคําแนะนําหนึ่งคํา หรือเปิดแผง GitHub Copilot Completions เพื่อดูคําแนะนําเพิ่มเติม