ใช้การปรับแต่งโค้ดของ Gemini Code Assist

เอกสารนี้อธิบายวิธีใช้การปรับแต่งโค้ดของ Gemini Code Assist และให้แนวทางปฏิบัติแนะนำบางส่วน ฟีเจอร์นี้ช่วยให้คุณได้รับคำแนะนำโค้ด ซึ่งดึงมาจากไลบรารีภายใน, API ส่วนตัว และ รูปแบบการเขียนโค้ดขององค์กร

ก่อนเริ่มต้น

  1. ตั้งค่า Gemini Code Assist ด้วยการสมัครใช้บริการ Enterprise
  2. ตั้งค่าการปรับแต่งโค้ด Gemini Code Assist

วิธีใช้การปรับแต่งโค้ด

ตารางต่อไปนี้แสดงวิธีใช้การปรับแต่งโค้ดของ Gemini Code Assist

แบบฟอร์ม วิธีทริกเกอร์ หมายเหตุและแหล่งข้อมูล

แชทด้วยภาษาธรรมชาติ

ป้อนพรอมต์ภาษาธรรมชาติในแชทของ Gemini Code Assist ใน IDE

ลองพิจารณาสิ่งเหล่านี้

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

ดูข้อมูลเพิ่มเติมได้ที่ แชทกับ Gemini Code Assist

สร้างโค้ด ในแถบการเลือกอย่างรวดเร็วใน IDE ไม่ว่าจะเลือกโค้ดหรือไม่ก็ตาม ให้กด Command+Enter (ใน macOS) หรือ Control+Enter ดูข้อมูลเพิ่มเติมได้ที่ สร้างโค้ดด้วยพรอมต์
แปลงโค้ด ในแถบการเลือกอย่างรวดเร็วใน IDE ไม่ว่าจะเลือกโค้ดหรือไม่ก็ตาม ให้ป้อน /fix ดูข้อมูลเพิ่มเติมได้ที่ สร้างโค้ดด้วยพรอมต์
เติมข้อความอัตโนมัติ ระบบจะทริกเกอร์การปรับแต่งโค้ดโดยอัตโนมัติและให้ คำแนะนำตามสิ่งที่คุณเขียน

ลองพิจารณาสิ่งเหล่านี้

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

ดูข้อมูลเพิ่มเติมได้ที่ รับการเติมโค้ด

บริบทของที่เก็บระยะไกล
  1. เริ่มต้นพรอมต์ด้วยสัญลักษณ์ @ รายการที่เก็บข้อมูลระยะไกลที่พร้อมใช้งาน ซึ่งมีการจัดทำดัชนีจะปรากฏขึ้น
  2. เลือกที่เก็บที่คุณต้องการใช้เป็นบริบทจากรายการ นอกจากนี้ คุณยังเริ่มพิมพ์ชื่อที่เก็บเพื่อกรองรายการได้ด้วย
  3. หลังจากเลือกที่เก็บแล้ว ให้เขียนพรอมต์ที่เหลือ

ลองพิจารณาสิ่งเหล่านี้

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

ดูข้อมูลเพิ่มเติมได้ที่ รับคำแนะนำที่เกี่ยวข้องมากขึ้นด้วยบริบทของที่เก็บระยะไกล

กรณีการใช้งานและตัวอย่างพรอมต์

ตารางต่อไปนี้ให้คำแนะนำและตัวอย่างเกี่ยวกับการใช้การปรับแต่งโค้ดในกรณีการใช้งานที่เฉพาะเจาะจง

กรณีการใช้งาน สิ่งที่ควรลอง
การเขียนโค้ดใหม่

ลองทำดังนี้เพื่อสร้างโค้ดใน IDE หรือแชท Gemini Code Assist

  • สร้างโค้ดที่จะใช้คำที่กล่าวถึงแล้ว ในโค้ดเบส
  • วางโค้ด เช่น ลายเซ็นฟังก์ชันหรือโค้ดที่มี TODO ความคิดเห็น แล้วขอให้ Gemini Code Assist เติมหรือแทนที่ TODO ความคิดเห็นด้วยโค้ด เพิ่มความคิดเห็นพร้อมคำอธิบาย จากบริบท

ลองสร้างโค้ดด้วยพรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "เขียนฟังก์ชันหลักที่สร้างการเชื่อมต่อกับ DATABASE รวมการตรวจสอบประสิทธิภาพการทำงาน "
  • "เขียน FUNCTION_OR_CLASS ใน โครงสร้างต่อไปนี้ EXPLAIN_STRUCTURE"

หลังจากสร้างโค้ดแล้ว ให้ลองใช้พรอมต์ต่อเนื่องเพื่อ ปรับปรุงโค้ด

  • "ลองใช้คำสั่ง /fix เพื่อปรับโค้ดที่สร้างขึ้น เช่น ข้อผิดพลาดทางไวยากรณ์"
  • "เพิ่มการนำเข้าที่ขาดหายไป"
  • "ลองใช้ /fix กับโค้ดที่แชทสร้างขึ้น"
การล้าง การลดความซับซ้อน และการเปลี่ยนโครงสร้างภายในโค้ด

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "คุณผสาน IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS ในไฟล์นี้ได้ไหม"
  • "คุณจะลดความซับซ้อนของฟังก์ชัน FUNCTION_NAME ได้อย่างไร"
  • "รวม FUNCTION_NAME_1 กับ FUNCTION_NAME_2 เป็นฟังก์ชันเดียวได้ไหม"
  • "คุณช่วยแทรกตัวแปรบางตัวใน FUNCTION_NAME ได้ไหม"
  • "ช่วยทำให้การตั้งชื่อตัวแปรในฟังก์ชัน FUNCTION_NAMEง่ายขึ้นได้ไหม"
ความอ่านง่าย

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "เขียนฟังก์ชัน FUNCTION_NAME ใน โค้ดจำนวนบรรทัดน้อยลง หากเป็นไปได้"
  • "เพิ่มความคิดเห็นในฟังก์ชัน FUNCTION_NAME"
  • "นำช่องว่างที่ไม่จำเป็นในฟังก์ชัน FUNCTION_NAME ออก"
  • "จัดรูปแบบฟังก์ชัน FUNCTION_NAME ในลักษณะเดียวกับโค้ดส่วนที่เหลือ"
การตรวจสอบโค้ด

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "แบ่งโค้ดออกเป็นส่วนๆ และอธิบายแต่ละส่วนโดยใช้ฐานโค้ดของเรา"
  • "มีตัวแปรหรือคีย์เวิร์ดที่สั้นและอธิบายตัวเองได้มากขึ้นไหม"
  • "คุณช่วยให้โค้ดที่เป็นประโยชน์จาก REPOSITORY_NAME_PACKAGE_MODULE บริบทสำหรับ โค้ดนี้ได้ไหม"
  • "คุณคิดว่าฟังก์ชัน FUNCTION_NAMEเป็นอย่างไร"
การแก้ไขข้อบกพร่อง

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "ฉันได้รับข้อผิดพลาดเมื่อพยายามทำ X/เพิ่ม Y ทำไม"
  • "คุณเห็นข้อผิดพลาดในฟังก์ชัน FUNCTION_NAME ไหม"
  • "คุณจะแก้ไขฟังก์ชัน FUNCTION_NAME เมื่อได้รับข้อความ แสดงข้อผิดพลาดนี้อย่างไร"
การเรียนรู้และการเริ่มต้นใช้งาน

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "แยกโค้ดนี้ออกเป็นส่วนๆ และอธิบายแต่ละส่วนโดยใช้ โค้ดเบสของเรา"
  • "แสดงวิธีเรียกฟังก์ชัน FUNCTION_NAME"
  • "แสดงวิธีเรียกใช้ฟังก์ชันหลักใน ENVIRONMENT_NAME หน่อย"
  • "เราจะปรับปรุงด้านเทคนิคที่สำคัญเพื่อทำให้โค้ดนี้มีประสิทธิภาพมากขึ้นได้อย่างไร"
  • "แสดงการใช้งานของ FUNCTION_OR_CLASS_NAME เพื่อให้ได้ผลลัพธ์ที่ดียิ่งขึ้น และเพิ่มองค์ประกอบนั้น" เช่น "แสดงการใช้งานฟังก์ชัน foo โดยที่ foo คือชื่อของ ฟังก์ชัน"
การย้ายข้อมูล

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "บอกกลยุทธ์ในการย้ายข้อมูลจาก FILE_NAME ไปยัง LANGUAGE_1 มาให้หน่อย" เช่น จาก Go ไปยัง PythonLANGUAGE_2
  • "เมื่อพิจารณาฟังก์ชัน FUNCTION_NAME ใน ที่เก็บ REPOSITORY_NAME โปรดค้นหาฟังก์ชันที่ เทียบเท่าในภาษา LANGUAGE_NAME ที่ฉันใช้ได้"

ลองใช้เวิร์กโฟลว์การแปลงตามแชทหรือการสร้างโค้ดต่อไปนี้โดยใช้พรอมต์

  1. "นำFILENAME_COMPONENTโค้ด ที่เขียนไว้ใน LANGUAGE_1 มาปรับโครงสร้าง และย้ายข้อมูลไปยัง LANGUAGE_2" เช่น จาก Go ไปยัง Python
  2. หลังจากย้ายข้อมูลโค้ดบางส่วนแล้ว ให้ลองทำดังนี้
    • เลือกส่วนย่อยที่เล็กลงและใช้ /fix เพื่อให้ อยู่ในสถานะที่คุณต้องการ
    • ลองใช้พรอมต์ต่อไปนี้
      • "มีอะไรที่ปรับปรุงได้ไหม"
      • "บอกจุดที่อาจเป็นปัญหาให้ฉันหน่อย"
      • "คุณจะทดสอบโค้ดนี้อย่างไรหากการย้ายข้อมูลนั้นถูกต้อง "
การสร้างเอกสาร

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "สรุปโค้ดในแพ็กเกจหรือโฟลเดอร์ X และจัดทำเอกสารสำหรับ 5 วิธีที่สำคัญที่สุด "
  • "สร้างเอกสารสำหรับ FUNCTION_OR_CLASS_NAME"
  • "ย่อเอกสารประกอบโดยยังคงข้อมูลสำคัญไว้"
การสร้าง Unit Test

ลองใช้พรอมต์ต่อไปนี้ในแชทของ Gemini Code Assist

  • "สร้างการทดสอบหน่วยสำหรับ FILENAME"
  • "เพิ่มกรณีทดสอบที่เกี่ยวข้องมากที่สุดสำหรับฟังก์ชัน FUNCTION_NAME"
  • "นำกรณีทดสอบที่คุณคิดว่าไม่ค่อยมีประโยชน์ออก"

แนวทางปฏิบัติแนะนำ

  • ใช้ชื่อตัวแปรและฟังก์ชันหรือข้อมูลโค้ดที่เกี่ยวข้อง ซึ่งจะช่วยให้การปรับแต่งโค้ด เป็นไปในทิศทางของตัวอย่างโค้ดที่เกี่ยวข้องมากที่สุด
  • ใช้ที่เก็บดัชนีที่คุณต้องการปรับขนาด และหลีกเลี่ยงการเพิ่มฟังก์ชันการทำงานที่เลิกใช้งานแล้ว การปรับแต่งโค้ดช่วยให้ปรับขนาดตามรูปแบบโค้ด รูปแบบ ความหมายของโค้ด ความรู้ และการใช้งานในโค้ดเบสได้ ตัวอย่างที่ไม่ดีของที่เก็บเพื่อปรับขนาดคือฟังก์ชันการทำงานที่เลิกใช้งานแล้ว โค้ดที่สร้างขึ้น และการติดตั้งใช้งานเดิม
  • สำหรับกรณีการใช้งานการดึงข้อมูลโค้ด ให้ใช้ฟังก์ชันการสร้างโค้ดแทน การเติมโค้ดอัตโนมัติ พรอมต์โดยใช้ภาษา เช่น "ใช้คำจำกัดความของ FUNCTION_NAME สร้างฟังก์ชันที่เหมือนกันทุกประการ" หรือ "สร้างการใช้งาน FUNCTION_NAME ที่เหมือนกันทุกประการ"
  • มีคำสั่งรวมหรือนำเข้าในไฟล์สำหรับโค้ดที่ต้องการ ดึงข้อมูลเพื่อปรับปรุงการรับรู้บริบทของ Gemini
  • ดำเนินการเพียง 1 อย่างสำหรับแต่ละพรอมต์ เช่น หากต้องการ ดึงข้อมูลโค้ดและนำโค้ดนี้ไปใช้ในฟังก์ชันใหม่ ให้ทำตาม ขั้นตอนเหล่านี้ใน 2 พรอมต์
  • สำหรับกรณีการใช้งานที่คุณต้องการมากกว่าแค่โค้ด (เช่น คำอธิบายโค้ด แผนการย้ายข้อมูล หรือคำอธิบายข้อผิดพลาด) ให้ใช้การปรับแต่งโค้ดสำหรับแชท ซึ่งคุณจะสนทนากับ Gemini โดยมีโค้ดเบสของคุณอยู่ในบริบท
  • โปรดทราบว่าการสร้างโมเดล AI เป็นแบบไม่แน่นอน หากไม่พอใจกับคำตอบ การเรียกใช้พรอมต์เดิมอีกครั้งอาจให้ผลลัพธ์ที่ดีขึ้น
  • โปรดทราบว่าโดยทั่วไปการสร้างการทดสอบหน่วยจะทำงานได้ดีกว่าหากคุณเปิดไฟล์ในเครื่อง แล้วถามจากแชทให้สร้างการทดสอบหน่วยสำหรับไฟล์นี้หรือฟังก์ชันที่เฉพาะเจาะจง

รับคำแนะนำที่เกี่ยวข้องมากขึ้นด้วยบริบทของที่เก็บข้อมูลระยะไกล

คุณจะได้รับคำแนะนำโค้ดที่ตระหนักถึงบริบทและมีความเกี่ยวข้องมากขึ้นโดยสั่งให้ Gemini Code Assist โฟกัสที่ที่เก็บข้อมูลระยะไกลที่เฉพาะเจาะจง การใช้สัญลักษณ์ @ ในแชทจะช่วยให้คุณเลือกที่เก็บอย่างน้อย 1 รายการเพื่อใช้เป็นแหล่งข้อมูลหลักสำหรับบริบทของพรอมต์ได้ ซึ่งจะมีประโยชน์เมื่อคุณกำลังทำงานที่เกี่ยวข้องกับชุดไมโครเซอร์วิส ไลบรารี หรือโมดูลที่เฉพาะเจาะจงเป็นส่วนใหญ่

หากต้องการใช้ที่เก็บข้อมูลระยะไกลเป็นบริบท ให้ทำตามขั้นตอนต่อไปนี้ในแชทของ IDE

  1. เริ่มต้นพรอมต์ด้วยสัญลักษณ์ @ รายการที่เก็บข้อมูลระยะไกลที่พร้อมใช้งานซึ่งมีการจัดทำดัชนีจะปรากฏขึ้น
  2. เลือกที่เก็บที่คุณต้องการใช้เป็นบริบทจากรายการ นอกจากนี้ คุณยังเริ่มพิมพ์ชื่อที่เก็บเพื่อกรองรายการได้ด้วย
  3. หลังจากเลือกที่เก็บแล้ว ให้เขียนพรอมต์ที่เหลือ

จากนั้น Gemini จะจัดลําดับความสําคัญของที่เก็บที่เลือกเมื่อสร้างคําตอบ

ตัวอย่างพรอมต์

ตัวอย่างการใช้ฟีเจอร์นี้มีดังนี้

  • หากต้องการทำความเข้าใจที่เก็บ
    • "@REPOSITORY_NAME โครงสร้างโดยรวมของที่เก็บนี้คืออะไร"
    • "@REPOSITORY_NAME ฉันเป็นสมาชิกใหม่ของทีม ช่วยอธิบายภาพรวมของวัตถุประสงค์และโมดูลหลักของที่เก็บนี้หน่อยได้ไหม"
  • สำหรับการสร้างและการแก้ไขโค้ด
    • "@REPOSITORY_NAME ใช้ฟังก์ชันการตรวจสอบสิทธิ์ที่คล้ายกับฟังก์ชันในที่เก็บนี้"
    • "@REPOSITORY_NAME ปรับโครงสร้างโค้ดต่อไปนี้ให้เป็นไปตามรูปแบบในที่เก็บที่เลือก"
    • "@REPOSITORY_A_NAME ฉันจะใช้ฟังก์ชันล่าสุดจากที่เก็บนี้เพื่อปรับปรุงโค้ดใน REPOSITORY_B_NAME ได้อย่างไร"
  • สำหรับการทดสอบ
    • "@UNIT_TEST_FILE_NAME สร้างการทดสอบหน่วยสำหรับ MODULE โดยอิงตามตัวอย่างในไฟล์ที่เลือก"

การใช้ที่เก็บข้อมูลระยะไกลเป็นแหล่งข้อมูลบริบทที่เฉพาะเจาะจงจะช่วยให้คุณได้รับคำแนะนำที่แม่นยำและเกี่ยวข้องมากขึ้นจาก Gemini Code Assist ซึ่งจะช่วยให้คุณเขียนโค้ดได้เร็วขึ้นและมีประสิทธิภาพมากขึ้น