התאמה אישית של ההתנהגות של Gemini Code Assist ב-GitHub

‫Gemini Code Assist ב-GitHub מאפשר לכם להתאים את אופן הפעולה של סקר הקוד למאגרים ספציפיים או להחיל הגדרות קבוצתיות על כמה מאגרים.

ב-Gemini Code Assist ב-GitHub אפשר גם להוסיף קובץ styleguide.md. מידע נוסף על הפונקציונליות הזו זמין במדריך הסגנון לסקר קוד.

שדות הגדרה

כדי לשנות את ההתנהגות של Gemini Code Assist ב-GitHub, מוסיפים קובץ config.yaml לתיקייה .gemini/ שנמצאת בבסיס של כל אחד מהמאגרים. קובץ config.yaml מכיל תכונות שונות שאפשר להגדיר, להפעיל או להשבית. רשימה מלאה של השדות זמינה config.yaml בסכימה.

בהמשך מפורטת רשימה של שיקולים לגבי שדות ספציפיים שאפשר להתאים אישית ב-Gemini Code Assist ב-GitHub:

  • ‫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 schema

קטע הקוד הבא הוא הסכימה של קובץ 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: []

ניהול תצורות בכמה מאגרים

אפשר להחליף בין מצבים של הגדרות מסוימות בכמה מאגרי קוד כשהם מקובצים לפי חיבור Developer Connect. ההגדרות הקולקטיביות האלה מנוהלות דרך מסוף Google Cloud .

אם מאגר מנוהל כחלק מקבוצה אבל יש לו גם config.yaml משלו, ההגדרות של המאגר מבטלות את ההגדרות של הקבוצה.config.yaml

כדי להבין איך הגדרות ספציפיות פועלות ומהן החריגים, אפשר לעיין בסכימה של config.yaml.

בשלבים הבאים מוסבר איך לשלוט בקבוצת הגדרות אחת בכמה מאגרים. אנחנו יוצאים מנקודת הנחה שכבר הגדרתם את Gemini Code Assist ב-GitHub.

  1. במסוף Google Cloud , נכנסים לדף Gemini Code Assist ‏Agents & Tools.

    מעבר אל 'סוכנים וכלים'

  2. בקטע סוכנים, מאתרים את הכרטיס ניהול קוד מקור של Code Assist ולוחצים על מתקדם.

    החלונית עריכת ניהול קוד מקור של Code Assist נפתחת.

  3. בטבלה Connections, לוחצים על שם החיבור שרוצים להחיל עליו הגדרה.

    ייפתח דף הפרטים של החיבור.

  4. בכרטיסייה הגדרות, מעדכנים את ההגדרות שרוצים לשנות.

  5. לוחצים על Save.

המאמרים הבאים