การแนะนำบริบทให้ Copilot

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

Thalia Barrera

AI Engineering Curriculum Manager, DataCamp

ความสำคัญของบริบท

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ความสำคัญของบริบท

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตัวแปร #codebase

$$

#codebase: ค้นหาโค้ดแบบ semantic ทั่วทั้งโปรเจกต์

ตัวอย่าง prompt:

การจัดการ user authentication ทำอย่างไร? #codebase

ผลลัพธ์:

  • 🔍 สแกนทั้ง codebase
  • 💻 รวม logic, function call หรือการตั้งค่าที่เกี่ยวข้องไว้ในคำตอบ
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

Copilot ทำความเข้าใจ codebase ของคุณอย่างไร

ประเภท index:

  • Local index: เก็บไว้บนเครื่องของคุณ
  • Remote index: สำหรับ repository ที่โฮสต์บน GitHub
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตรวจสอบประเภท index ของคุณ

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตรวจสอบประเภท index ของคุณ

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตัวแปร #changes

$$

#changes: อ้างอิงการเปลี่ยนแปลง source control ล่าสุด

ตัวอย่าง prompt:

การเปลี่ยนแปลงเหล่านี้จะทำให้ login flow พังไหม? #changes

ใช้เมื่อ:

  • 💾 ประเมินการแก้ไขโค้ด
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตัวแปร #selection

$$

#selection: อ้างอิงโค้ดที่ไฮไลต์ไว้

ตัวอย่าง prompt:

ช่วย refactor ส่วนนี้ให้หน่อยได้ไหม? #selection

ใช้เมื่อ:

  • 🔧 แก้ไขโค้ดอย่างรวดเร็ว
  • 📝 สร้าง prompt แบบเจาะจง
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตัวแปร #fetch

  • เอกสาร 📚, API reference 💻, บทความ 📰

$$

#fetch: ดึงเนื้อหาจากหน้าเว็บ

ตัวอย่าง prompt:

สรุปเอกสารนี้ให้หน่อย #fetch https://example.com/docs

ผลลัพธ์:

  • 🌐 ดึงข้อมูลจากหน้าเว็บมาใช้เป็นบริบท
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตัวแปร #files

$$

#files: แนบไฟล์ที่ระบุเข้ากับ prompt

ตัวอย่าง prompt:

ช่วยตรวจสอบไฟล์นี้ว่ามีปัญหา error handling ไหม? #files:utils/data_loader.py

ผลลัพธ์:

  • 🔍 วิเคราะห์เนื้อหาของไฟล์ที่อ้างอิง
  • 📄 รวมไฟล์เป็นส่วนหนึ่งของบริบท prompt
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

ตัวแปรและเครื่องมือแชทอื่น ๆ

$$

Variable/tool คำอธิบาย
#search ค้นหาไฟล์ใน workspace ปัจจุบัน
#testFailure ดูข้อมูล unit test ที่ล้มเหลว มีประโยชน์สำหรับการรันและวินิจฉัยการทดสอบ
#problems เพิ่มปัญหาใน workspace จาก Problems panel เป็นบริบท มีประโยชน์ขณะแก้โค้ดหรือ debug
#terminalLastCommand ดูคำสั่ง terminal ล่าสุดและผลลัพธ์ที่ได้
#githubRepo ค้นหาโค้ดใน GitHub repo
1 https://code.visualstudio.com/docs/copilot/reference/copilot-vscode-features#_chat-tools
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

การสร้างการสนทนาแบบ progressive

Prompt เดียวที่ซับซ้อน:

เพิ่ม PostgreSQL integration พร้อม authentication, persistence, session, error handling และ connection pooling

การสร้าง prompt แบบเพิ่มความซับซ้อนทีละขั้น:

  1. วิธีที่ดีที่สุดสำหรับการเพิ่ม database persistence คืออะไร? #codebase
  2. สร้าง database connection โดยใช้แนวทางที่แนะนำ
  3. ช่วยออกแบบ schema สำหรับ class Task และ User
  4. เพิ่ม session management และ error handling เบื้องต้น
  5. ...
การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

เริ่มแชทใหม่เพื่อล้างบริบท

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

เริ่มแชทใหม่เพื่อล้างบริบท

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

มาฝึกกันเถอะ!

การพัฒนาซอฟต์แวร์ด้วย GitHub Copilot

Preparing Video For Download...