เทคนิคที่ใช้ใน GitHub Copilot

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

ในหน่วยก่อนหน้า เราได้แสดงวิธีการตั้งค่า Copilot และกล่าวถึงวิธีที่สามารถทําให้คุณทำงานได้เร็วขึ้นในฐานะนักพัฒนาที่เริ่มเขียนโค้ด

ในหน่วยนี้ เรามาพูดถึงวิธีที่ Copilot สามารถช่วยคุณในโครงการที่มีอยู่และช่วยคุณในงานที่ซับซ้อนมากขึ้น

งานขั้นสูงด้วย GitHub Copilot

เป็นเรื่องปกติที่จะทำงานกับโครงการที่มีอยู่ในฐานะวิศวกร เมื่อแก้ไขโค้ดหรือใช้ฟีเจอร์ เราจำเป็นต้องเขียนคู่มือและทดสอบและทำงานกับคำสั่งเทอร์มินัล ลองไปดูวิธีการต่างๆ ที่คุณสามารถทำได้โดยใช้ GitHub Copilot กัน

คำสั่งโดยนัย

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

ตัวอย่างเช่น ถ้าคุณกำลังทำงานกับโครงการ Python และคุณมีไฟล์เปิดด้วยโค้ดต่อไปนี้ที่มีบักอยู่:

with open("file.txt", "r") as file:
    # Read the file and print the content
    contents = file.read

หลังจากเลือกโค้ดและใช้ Ctrl+i ใน Windows หรือคำสั่ง Command+i ใน Mac คุณสามารถขอให้ GitHub Copilot ช่วยคุณแก้ไขโค้ดโดยใช้การแชทแบบอินไลน์และคำสั่งเครื่องหมายทับ /fix

หากคุณพิมพ์ /fixเพียงอย่าง คุณอาจได้รับการตอบกลับจาก GitHub Copilot คล้ายกับคําแนะนํานี้: "ในการแก้ไขโค้ด ฉันจะเพิ่มวงเล็บหลัง file.read เพื่อเรียกเมธอด read และแก้ไขการพิมพ์ผิดในชื่อเมธอด"

คําสั่งเครื่องหมายทับสามารถใช้ได้ทั้งในแชทแบบอินไลน์และอินเทอร์เฟซการแชท นอกจากคําสั่งแล้ว /fix ต่อไปนี้คือคําสั่งเครื่องหมายทับที่มีประโยชน์ที่สุดบางส่วนที่คุณสามารถใช้ได้ในการแชท Copilot:

  • /doc: เพิ่มความคิดเห็นไปยังรหัสที่ระบุหรือเลือก
  • /explain: รับคําอธิบายเกี่ยวกับรหัส
  • /generate: สร้างรหัสเพื่อตอบคําถามที่ระบุ
  • /help: รับความช่วยเหลือเกี่ยวกับวิธีใช้แชท Copilot
  • /optimize: วิเคราะห์และปรับปรุงรันไทม์ของโค้ดที่เลือก
  • /tests: สร้างการทดสอบหน่วยสําหรับรหัสที่เลือก

การใช้คำสั่งเครื่องหมายทับช่วยให้สามารถโต้ตอบกับ GitHub Copilot ได้ง่ายขึ้น และช่วยให้คุณได้รับการตอบกลับที่ดีขึ้นโดยไม่ต้องเขียนพร้อมท์ที่ยาวขึ้น

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

บริบทที่เลือก

สามารถปรับแต่ง GitHub Copilot เพื่อให้คำแนะนำได้ตามบริบทที่คุณกำลังดำเนินการอยู่ ตัวอย่างเช่น คุณสามารถขอให้ GitHub Copilot ให้คําแนะนําตามพื้นที่ทำงานทั้งหมดหรือเอาต์พุตเทอร์มินัล

GitHub Copilot สามารถให้คำแนะนำที่ถูกต้องสำหรับโครงการของคุณโดยที่คุณไม่จำเป็นต้องเปิดไฟล์จำนวนมาก สมมติว่าคุณต้องจัดแพคเกจโครงการของคุณโดยใช้ Dockerfile Dockerfile คือไฟล์พิเศษที่ต้องมีคำแนะนำเฉพาะเพื่อจัดแพคเกจโครงการของคุณ คุณสามารถใช้ @workspace ตัวแทนเพื่อถาม GitHub Copilot ว่าจะช่วยคุณได้อย่างไร ตัวอย่างเช่น เปิด GitHub Copilot Chat และพิมพ์คําสั่งต่อไปนี้:

@workspace I need to create a Dockerfile for this project, can you generate one that will help me package it?

คุณจะได้รับการตอบกลับที่อธิบายขั้นตอนในการสร้าง Dockerfile สำหรับโครงการของคุณ พร้อมกับคำอธิบายบางอย่างเกี่ยวกับสิ่งที่ขั้นตอนของไฟล์กำลังจะดำเนินการ

เช่นเคย หากคําแนะนําไม่ใช่สิ่งที่คุณกําลังค้นหา คุณสามารถเปลี่ยนคําพร้อมท์ใหม่และมีความเฉพาะเจาะจงมากขึ้นได้ ตัวอย่างเช่น คุณสามารถขอให้ GitHub Copilot ใช้ขั้นตอนเฉพาะเมื่อสร้าง Dockerfile:

@workspace help me create a Dockerfile to package this project but make sure you are using a Virtual Environment for Python.

นอกจากตัวแทน@workspaceแล้ว คุณสามารถใช้ตัวแทนอื่นๆ เช่น @terminal, และรับ@file@directoryคําแนะนําเฉพาะบริบท:

  • @terminal: ให้คําแนะนําตามเอาต์พุตของเทอร์มินัล
    • ตัวอย่าง: @terminal ฉันจะแก้ไขข้อความแสดงข้อผิดพลาดที่ฉันเห็นได้อย่างไร
  • @file: เน้นที่เนื้อหาของไฟล์เฉพาะ
    • ตัวอย่าง: @file คุณช่วยฉันปรับโครงสร้างฟังก์ชันนี้ใน main.py ได้ไหม
  • @directory: พิจารณาเนื้อหาของไดเร็กทอรีเฉพาะ
    • ตัวอย่าง: @directory ฉันจะปรับสคริปต์ให้เหมาะสมในไดเรกทอรี utils ได้อย่างไร

หากคุณติดขัดหรือไม่ได้ผลลัพธ์ที่ต้องการ คุณสามารถเปลี่ยนคำพร้อมท์หรือเริ่มเขียนโค้ดสําหรับ Copilot เพื่อเติมข้อความอัตโนมัติ

หมายเหตุ

แม้ว่าคุณจะสามารถระบุข้อมูลที่เฉพาะเจาะจงกับ @workspace ตามค่าเริ่มต้น GitHub Copilot จะใช้ไฟล์ที่เปิดในตัวแก้ไขข้อความของคุณเป็นบริบทเพิ่มเติม