ปรับแต่งลักษณะการทํางานของฟีเจอร์ช่วยเขียนโค้ดของ Gemini ใน GitHub

คุณสามารถแก้ไข ลักษณะการทำงานของ Gemini Code Assist ใน GitHub สำหรับที่เก็บแต่ละรายการได้โดยการเพิ่มไฟล์ config.yaml ลงในโฟลเดอร์ .gemini/ ที่อยู่ในรูทของที่เก็บ ไฟล์ config.yaml มีฟีเจอร์ต่างๆ ที่กำหนดค่าได้ ซึ่งคุณสามารถเปิดหรือปิดใช้ได้ คุณสามารถ กำหนดค่ากลุ่มในที่เก็บหลายรายการ สำหรับลักษณะการทำงานบางอย่างของ Gemini Code Assist ใน GitHub

นอกจากนี้ Gemini Code Assist ยังรองรับการเพิ่มไฟล์ styleguide.md ลงในโฟลเดอร์ .gemini/ ซึ่งจะให้คำแนะนำแก่ Gemini Code Assist ด้วยกฎเฉพาะบางอย่างที่คุณต้องการให้ปฏิบัติตามเมื่อทำการตรวจสอบโค้ด ดูข้อมูลเพิ่มเติมเกี่ยวกับคู่มือสไตล์สำหรับ Gemini Code Assist, ดูที่ คู่มือสไตล์การตรวจสอบโค้ด

ช่องการกำหนดค่า

ส่วนนี้จะอธิบายข้อควรพิจารณาสำหรับช่องที่ปรับแต่งได้บางช่องใน Gemini Code Assist ใน GitHub ดูรายการ ช่องทั้งหมดได้ที่สคีมา config.yaml

  • code_review: comment_severity_threshold: ช่องนี้จะกำหนดความรุนแรงขั้นต่ำที่ Gemini Code Assist จะโพสต์ความคิดเห็น ตัวอย่างเช่น หากคุณตั้งค่า code_review: comment_severity_threshold: HIGH Gemini Code Assist จะไม่แสดงความคิดเห็นในคำขอรับการผสานรวมสำหรับปัญหาที่พิจารณาว่ามีความรุนแรงระดับ LOW หรือ MEDIUM เช่น การปรับโครงสร้างโค้ดเล็กน้อย Gemini Code Assist จะกำหนดความรุนแรงของ ความคิดเห็นตามประเภทและความสำคัญของปัญหาที่พิจารณา โดยการละเมิด คู่มือสไตล์ที่กำหนดเอง มักจะเป็นไปตามหรือเกินเกณฑ์ความรุนแรง

  • ignore_patterns: ช่องนี้ใช้ รูปแบบ Glob เมื่อโต้ตอบกับที่เก็บ Gemini Code Assist จะละเว้นไฟล์ที่ตรงกับรูปแบบใดรูปแบบหนึ่งในรายการนี้

  • memory_config: ช่องนี้ใช้ได้หากคุณเคย เปิดใช้คุณภาพการตอบกลับที่ดียิ่งขึ้นสำหรับที่เก็บหลายรายการ เมื่อเปิดใช้คุณภาพการตอบกลับที่ดียิ่งขึ้นสำหรับที่เก็บหลายรายการ คุณสามารถตั้งค่า memory_config: disabled: true สำหรับที่เก็บที่เฉพาะเจาะจงภายในกลุ่ม ซึ่งจะปิดใช้ฟีเจอร์สำหรับที่เก็บนั้น

สคีมา config.yaml

ข้อมูลโค้ดต่อไปนี้คือสคีมาสำหรับไฟล์ config.yaml โดยจะกำหนดตัวเลือกการกำหนดค่าที่เป็นไปได้ทั้งหมดและค่าที่ยอมรับ

$schema: "http://json-schema.org/draft-07/schema#"
title: RepoConfig
description: Configuration for Gemini Code Assist on a repository. All fields are optional and have default values.
type: object
properties:
  have_fun:
    type: boolean
    description: Enables fun features such as a poem in the initial pull request summary. Default: false.
  ignore_patterns:
    type: array
    items:
      type: string
    description: A list of glob patterns for files and directories that Gemini Code Assist should ignore. Default: [].
  memory_config:
    type: object
    description: Configuration for persistent memory, which is used to improve responses.
    properties:
      disabled:
        type: boolean
        description: Whether to disable persistent memory for this specific repository. Default: false.
  code_review:
    type: object
    description: Configuration for code reviews. All fields are optional and have default values.
    properties:
      disable:
        type: boolean
        description: Disables Gemini from acting on pull requests. Default: false.
      comment_severity_threshold:
        type: string
        enum:
          - LOW
          - MEDIUM
          - HIGH
          - CRITICAL
        description: The minimum severity of review comments to consider. Default: MEDIUM.
      max_review_comments:
        type: integer
        format: int64
        description: The maximum number of review comments to consider. Use -1 for unlimited. Default: -1.
      pull_request_opened:
        type: object
        description: Configuration for pull request opened events. All fields are optional and have default values.
        properties:
          help:
            type: boolean
            description: Posts a help message on pull request open. Default: false.
          summary:
            type: boolean
            description: Posts a pull request summary on the pull request open. Default: false.
          code_review:
            type: boolean
            description: Posts a code review on pull request open. Default: true.
          include_drafts:
            type: boolean
            description: Enables agent functionality on draft pull requests. Default: true.

ตัวอย่าง config.yaml

ข้อมูลโค้ดต่อไปนี้เป็นตัวอย่างของไฟล์ config.yaml ในตัวอย่างนี้ ระบบจะตั้งค่าพร็อพเพอร์ตี้แต่ละรายการเป็นค่าเริ่มต้นที่ Gemini Code Assist ใช้ คุณสามารถใช้ข้อมูลโค้ดนี้เป็นเทมเพลตเพื่อสร้างไฟล์ config.yaml ของคุณเองได้

have_fun: false
memory_config:
  disabled: false
code_review:
  disable: false
  comment_severity_threshold: MEDIUM
  max_review_comments: -1
  pull_request_opened:
    help: false
    summary: false
    code_review: true
    include_drafts: true
ignore_patterns: []

จัดการการกำหนดค่าในที่เก็บหลายรายการ

คุณสามารถจัดการ Gemini Code Assist ใน GitHub บางส่วนในที่เก็บหลายรายการได้ ดังนี้

  • หากใช้เวอร์ชันสำหรับผู้ใช้ทั่วไป คุณสามารถสลับการตั้งค่าบางอย่างสำหรับที่เก็บทั้งหมดที่เชื่อมโยงกับบัญชีได้

  • หากใช้เวอร์ชัน Enterprise คุณสามารถสลับการตั้งค่าบางอย่างสำหรับที่เก็บหลายรายการที่จัดกลุ่มตามการเชื่อมต่อ Developer Connect ได้ เมื่อดำเนินการดังกล่าว คุณจะจัดการการตั้งค่าร่วมกันผ่านคอนโซล Google Cloud

หากที่เก็บได้รับการจัดการเป็นส่วนหนึ่งของกลุ่ม แต่มี config.yaml ของตัวเองด้วย การตั้งค่า config.yaml ของที่เก็บจะลบล้างการตั้งค่ากลุ่ม

โปรดดูสคีมา config.yaml เพื่อดูลักษณะการทำงานและการยกเว้นของการตั้งค่าที่เฉพาะเจาะจง

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

ผู้บริโภค

  1. ใน Gemini Code Assist ให้ไปที่หน้าการตั้งค่า

    ไปที่การตั้งค่า

  2. หากได้รับข้อความแจ้ง ให้คลิกเข้าสู่ระบบด้วย GitHub แล้วทำตามข้อความแจ้งเพื่อลงชื่อเข้าใช้ GitHub จากภายใน Gemini Code Assist

  3. ในหน้า Gemini ให้เลือกบัญชีที่ต้องการใช้ อ่านข้อกำหนดในการให้บริการ แล้วคลิกต่อไป

  4. ในหน้า Free agent ให้อัปเดตการตั้งค่าตามที่จำเป็น

  5. คลิกบันทึก

องค์กร

  1. ในคอนโซล Google Cloud ให้ไปที่หน้า Agents &Tools ของ Gemini Code Assist

    ไปที่ Agents &Tools

  2. ในส่วน Agents ให้ค้นหาการ์ด Code Assist Source Code Management แล้วคลิกขั้นสูง

    บานหน้าต่างแก้ไข Code Assist Source Code Management จะเปิดขึ้น

  3. ในตารางการเชื่อมต่อ ให้คลิกชื่อการเชื่อมต่อที่ต้องการใช้การกำหนดค่า

    หน้าข้อมูลรายละเอียดของการเชื่อมต่อจะเปิดขึ้น

  4. ในแท็บการตั้งค่า ให้อัปเดตการตั้งค่าที่ต้องการเปลี่ยน

  5. คลิกบันทึก

ขั้นตอนถัดไป