ปรับแต่งลักษณะการทํางานของฟีเจอร์ช่วยเขียนโค้ดของ 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 จะไม่แสดงความคิดเห็นใน Pull Request สำหรับปัญหาที่ถือว่ามีความรุนแรงระดับ 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: true.
          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: true
    code_review: true
    include_drafts: true
ignore_patterns: []

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

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

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

  • หากใช้เวอร์ชันองค์กร คุณจะเปิด/ปิดการตั้งค่าบางอย่างสำหรับ ที่เก็บหลายรายการที่จัดกลุ่มตามการเชื่อมต่อ 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. ในหน้าตัวแทนอิสระ ให้อัปเดตการตั้งค่าตามที่ต้องการ

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

Enterprise

  1. ในคอนโซล Google Cloud ให้ไปที่หน้าเอเจนต์และเครื่องมือของ Gemini Code Assist

    ไปที่เอเจนต์และเครื่องมือ

  2. ในส่วนเอเจนต์ ให้ค้นหาการ์ดการจัดการซอร์สโค้ดของ Code Assist แล้วคลิกขั้นสูง

    แผงแก้ไขการจัดการซอร์สโค้ดของตัวช่วยเขียนโค้ดจะเปิดขึ้น

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

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

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

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

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