เทคนิคที่ใช้ใน 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 จะใช้ไฟล์ที่เปิดในตัวแก้ไขข้อความของคุณเป็นบริบทเพิ่มเติม