ตรวจสอบข้อความแจ้งและคําหลัก GitHub Copilot

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

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

คุณภาพพรอมต์

เมื่อคุณเขียนข้อความแจ้งสําหรับ GitHub Copilot ให้พิจารณาแนวทางต่อไปนี้เพื่อปรับปรุงคุณภาพของคําตอบ

  • พร้อมท์ที่คุณส่งควรชัดเจน กระชับ และเฉพาะเจาะจง ตัวอย่างเช่น แทนที่จะถามว่า "ฉันจะใช้ฟังก์ชันนี้ได้อย่างไร" คุณสามารถถามว่า "คุณช่วยอธิบายวิธีการทํางานของshoppingCart.jsฟังก์ชันในcalculateTotalไฟล์ได้ไหม"

  • เมื่อคุณจําเป็นต้องเขียนพร้อมท์ที่ยาวขึ้น ควรเขียนพร้อมท์โดยใช้ประโยคสั้น ๆ หลายประโยค เริ่มต้นด้วยภาพรวมที่อธิบายเป้าหมายของคุณ จากนั้นให้รายละเอียดที่เฉพาะเจาะจง

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

ใช้คําสําคัญที่พร้อมท์

นอกเหนือจากการประมวลผลข้อความภาษาธรรมชาติแล้ว GitHub Copilot Chat ยังใช้คีย์เวิร์ดเพื่อช่วยคุณระบุบริบทและเจตนาของข้อความแจ้ง คีย์เวิร์ดคือคําหรือวลีพิเศษที่มีความหมายเฉพาะในบริบทของ GitHub Copilot Chat ด้วยการใช้คําหลักคุณสามารถช่วยให้ AI เข้าใจสิ่งที่คุณกําลังขอและให้คําตอบที่เกี่ยวข้องมากขึ้น

GitHub Copilot ใช้คีย์เวิร์ดต่อไปนี้เพื่อช่วยคุณระบุบริบทและเจตนาของข้อความแจ้ง

  • ผู้เข้าร่วมแชท: ผู้เข้าร่วมแชทเป็นเหมือนผู้เชี่ยวชาญในสาขาเฉพาะที่ช่วยให้ GitHub Copilot สร้างการตอบกลับได้ดีขึ้น ผู้เข้าร่วมแชทจะถูกระบุโดยใช้ @ สัญลักษณ์

  • คําสั่งเครื่องหมายทับ: คําสั่งเครื่องหมายทับช่วยในการอธิบายจุดประสงค์ (เป้าหมายหรือวัตถุประสงค์) ของพร้อมท์ของคุณ หนึ่งในภารกิจของ GitHub Copilot Chat ในการตอบคําถามคือการกําหนดเจตนา ทําความเข้าใจว่าคุณต้องการทําอะไร คําสั่งเครื่องหมายทับสามารถช่วยทําให้เจตนาของคุณชัดเจนขึ้นได้

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

ผู้เข้าร่วมการสนทนา

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

ปัจจุบัน GitHub Copilot Chat รองรับผู้เข้าร่วมการแชทในตัวต่อไปนี้:

  • @workspace: ผู้เข้าร่วม @workspace สามารถช่วยตอบคําถามเกี่ยวกับโค้ดในพื้นที่ทํางานของคุณ หรือแนะนําวิธีปรับโครงสร้างหรือปรับปรุงโค้ดของคุณ
  • @vscode: ผู้เข้าร่วม @vscode รู้เกี่ยวกับคําสั่งและคุณสมบัติในตัวแก้ไข Visual Studio Code และสามารถช่วยคุณใช้งานได้
  • @terminal: ผู้เข้าร่วม @terminal สามารถช่วยเกี่ยวกับเปลือกเทอร์มินัลในตัวและเนื้อหาได้
  • @github: ผู้เข้าร่วม @github สามารถช่วยรับคําตอบจากการค้นหาเว็บ การค้นหาโค้ด และฐานความรู้ขององค์กรของคุณ

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

คำสั่งเครื่องหมายทับ

คําสั่งเครื่องหมายทับช่วยให้ GitHub Copilot Chat เข้าใจเจตนาของคุณเมื่อคุณถามคําถาม คุณกําลังเรียนรู้เกี่ยวกับฐานโค้ด (/explain) คุณต้องการความช่วยเหลือในการแก้ไขปัญหา (/fix) หรือคุณกําลังสร้างกรณีทดสอบ (/tests) หรือไม่? การแจ้งให้ GitHub Copilot Chat ทราบว่าคุณกําลังพยายามทําอะไรอยู่ จะช่วยให้สามารถปรับแต่งการตอบกลับงานของคุณ และให้คําสั่ง การตั้งค่า และข้อมูลโค้ดที่เป็นประโยชน์ได้

ผู้เข้าร่วมการสนทนามักจะถูกรวมด้วยคําสั่งเครื่องหมายทับ คําสั่งเครื่องหมายทับเป็นวิธีที่กระชับในการอธิบายเจตนาของคุณไปยังผู้เข้าร่วมการสนทนา /explainคําสั่งเครื่องหมายทับมักจะมาพร้อมกับ@workspaceผู้เข้าร่วมแชท การรวมกันของผู้เข้าร่วมการสนทนาและคําสั่งเครื่องหมายทับเป็นวิธีที่มีประสิทธิภาพในการชี้แจงเจตนาของคุณ

ตัวอย่างเช่น พิจารณาพร้อมท์ตัวอย่างต่อไปนี้:

Create a new workspace that uses Node.js, the Express framework, the Pug template engine, and TypeScript.

GitHub Copilot อาจตีความข้อความแจ้งนี้เป็นการร้องขอสําหรับโครงการโค้ดใหม่ที่สร้างขึ้นโดยใช้เทคโนโลยีที่ระบุ แต่ GitHub Copilot จะเข้าใจข้อความแจ้งต่อไปนี้ที่ใช้คําสําคัญได้ง่ายกว่า:

@workspace /new Node.js Express Pug TypeScript

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

สกรีนช็อตที่แสดงข้อความแจ้ง

ตัวอย่างของคําสั่งเครื่องหมายทับที่มีอยู่ภายใน:

  • /help: รับความช่วยเหลือเกี่ยวกับการใช้ GitHub Copilot
  • /doc: สร้างเอกสารโค้ด
  • /clear: เริ่มเซสชันแชทใหม่
  • /explain: อธิบายวิธีการทํางานของโค้ดที่เลือก
  • /tests: สร้างการทดสอบหน่วยสําหรับรหัสที่เลือก
  • /fix: เสนอการแก้ไขสําหรับรหัสที่เลือก
  • /new: รหัสนั่งร้านสําหรับพื้นที่ทํางานใหม่ ใช้เฉพาะพร้อมท์การสนทนาเป็นบริบทเท่านั้น
  • /newNotebook: สร้าง Jupyter Notebook ใหม่ ใช้เฉพาะพร้อมท์การสนทนาเป็นบริบทเท่านั้น

ตัวอย่างที่ใช้ผู้เข้าร่วมการสนทนารวมกับคําสั่งเครื่องหมายทับ:

  • @workspace /explain: สร้างคําอธิบายของพื้นที่ทํางานทั้งหมด
  • @workspace /fix (หรือ /fix): เสนอการแก้ไขปัญหาในโค้ดที่เลือก
  • @workspace /tests (หรือ /tests): สร้างการทดสอบหน่วยสําหรับรหัสที่เลือก
  • @vscode /api (หรือ /api): สอบถามเกี่ยวกับการพัฒนาส่วนขยาย Visual Studio Code
  • @workspace /new (หรือ /new): รหัสนั่งร้านสําหรับพื้นที่ทํางานใหม่
  • @workspace /newNotebook (หรือ /newNotebook): สร้าง Jupyter Notebook ใหม่

ตัวแปรแชท

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

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

ผู้เข้าร่วมแชท เช่น @workspace หรือ สามารถ @vscodeมีส่วนร่วมในตัวแปรแชทที่ให้บริบทเฉพาะโดเมนได้

ตัวอย่างของตัวแปรแชทที่มีอยู่ภายในคือ:

  • #editor: ซอร์สโค้ดที่มองเห็นได้ในตัวแก้ไขที่ใช้งานอยู่
  • #selection: การเลือกปัจจุบันในตัวแก้ไขที่ใช้งานอยู่ เนื้อหาตัวแก้ไขจะรวมอยู่ในบริบทมุมมองแชทโดยปริยาย
  • #<file or folder name>: พิมพ์ # ตามด้วยชื่อไฟล์หรือโฟลเดอร์ เพื่อเพิ่มเป็นบริบทการแชท
  • #codebase: เพิ่มเนื้อหาพื้นที่ทํางานที่เกี่ยวข้องเป็นบริบทในข้อความแจ้งของคุณ
  • #terminalSelection: การเลือกเทอร์มินัลที่ใช้งานอยู่
  • #terminalLastCommand: คําสั่งเรียกใช้ล่าสุดของเทอร์มินัลที่ใช้งานอยู่

ความแตกต่างระหว่าง @workspace และ #codebaseคืออะไร ?

ตามแนวคิดทั้งสองอย่าง @workspace และ #codebase ช่วยให้คุณสามารถถามคําถามเกี่ยวกับฐานรหัสทั้งหมดของคุณได้ อย่างไรก็ตาม มีความแตกต่างบางอย่างในวิธีที่คุณสามารถใช้:

เกี่ยวกับ @workspace คําหลัก:

  • @workspaceคีย์เวิร์ดคือผู้เข้าร่วมแชทที่ทุ่มเทให้กับการตอบคําถามเกี่ยวกับโค้ดเบสของคุณ
  • @workspaceคําหลักจะควบคุมพรอมต์ของผู้ใช้และใช้ฐานรหัสเพื่อให้คําตอบ
  • คีย์เวิร์ดไม่สามารถ @workspace เรียกใช้เครื่องมืออื่นได้
  • คีย์เวิร์ดนี้ @workspace สามารถใช้ได้เมื่อคุณใช้โหมดถามตัวแทนเท่านั้น
  • ตัวอย่าง: "@workspace how can I validate a date?"

เกี่ยวกับ #codebase คําหลัก:

  • #codebaseคําหลักเป็นเครื่องมือที่ทําการค้นหาฐานรหัสตามข้อความแจ้งของผู้ใช้ และเพิ่มรหัสที่เกี่ยวข้องเป็นบริบทในพรอมต์แชท
  • เมื่อคุณใช้ #codebase คําสําคัญ แบบจําลองภาษาจะยังคงอยู่ในการควบคุมและสามารถรวม #codebase กับเครื่องมืออื่นๆ สําหรับการแก้ไขสถานการณ์ได้
  • #codebaseคีย์เวิร์ดสามารถใช้ได้ในโหมดแชททั้งหมด (ถาม ตัวแทน และวางแผน)
  • ตัวอย่าง: "add a tooltip to this button, consistent with other button #codebase", "add unit tests and run them #codebase"

GitHub แนะนําให้ใช้ #codebase ในข้อความแจ้งการแชทของคุณ เนื่องจากให้ความยืดหยุ่นมากกว่า

สรุป

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