כדי לשנות את ההתנהגות של 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: []
ניהול תצורות בכמה מאגרים
אפשר להחליף בין מצבים של הגדרות מסוימות בכמה מאגרי קוד כשהם מקובצים לפי חיבור Developer Connect. ההגדרות האלה מנוהלות דרך מסוף Google Cloud .
אם מאגר מנוהל כחלק מקבוצה אבל יש לו גם config.yaml משלו, ההגדרות של config.yaml במאגר מבטלות את ההגדרות של הקבוצה.
כדי לראות איך הגדרה ספציפית פועלת ואילו חריגים קיימים, אפשר לעיין בסכימה של config.yaml.
בשלבים הבאים מוסבר איך לשלוט בקבוצת הגדרות אחת בכמה מאגרים. אנחנו יוצאים מנקודת הנחה שכבר הגדרתם את Gemini Code Assist ב-GitHub.
במסוף Google Cloud , נכנסים לדף Gemini Code Assist Agents & Tools.
בקטע סוכנים, מאתרים את הכרטיס ניהול קוד מקור של Code Assist ולוחצים על מתקדם.
החלונית עריכת ניהול קוד מקור של Code Assist נפתחת.
בטבלה Connections, לוחצים על שם החיבור שרוצים להחיל עליו הגדרה.
ייפתח דף הפרטים של החיבור.
בכרטיסייה הגדרות, מעדכנים את ההגדרות שרוצים לשנות.
לוחצים על Save.
המאמרים הבאים
- הוספת מדריך סגנון ל-Gemini Code Assist ב-GitHub.