שימוש בהתאמה אישית של קוד ב-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:

  • ‫"Write a main function where a connection to DATABASE is created. כולל בדיקות תקינות."
  • "תכתוב FUNCTION_OR_CLASS במבנה הבא: EXPLAIN_STRUCTURE".

אחרי שיוצרים קוד, אפשר להשתמש בהנחיה נוספת כדי לשפר אותו:

  • "אפשר לנסות את הפקודה /fix כדי לשנות את הקוד שנוצר – למשל, לתקן שגיאות תחביר".
  • ‫"Add missing imports" (הוספת ייבוא חסר).
  • ‫"Try /fix on chat-generated code." ‏(אפשר לנסות את /fix על קוד שנוצר בצ'אט).
ניקוי, פישוט וארגון מחדש של קוד

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "תמזג את IMPORTS_VARIABLES_OR_NOTE_EXPORTED_FUNCTIONS בקובץ הזה?"
  • "איך אפשר לפשט את הפונקציה FUNCTION_NAME?"
  • "Can you merge FUNCTION_NAME_1 and FUNCTION_NAME_2 into one function?"
  • "Could you inline some variables in FUNCTION_NAME?"
  • "תפשט בבקשה את שמות המשתנים בפונקציה FUNCTION_NAME"
ציון קריאוּת

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Write the function FUNCTION_NAME in fewer lines of code, if possible."
  • ‫"Add comments to the function FUNCTION_NAME."
  • ‫"Remove unnecessary whitespaces in the function FUNCTION_NAME."
  • ‫"Format the function FUNCTION_NAME in a similar way as the rest of the code."
סקר קוד

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Split the code in parts and explain each part using our codebase."
  • "האם יש משתנים או מילות מפתח שאפשר לקצר ולהפוך אותם למובנים יותר?"
  • "תספק לי קוד שימושי מההקשר REPOSITORY_NAME_PACKAGE_MODULE של הקוד הזה".
  • "What do you think about the function FUNCTION_NAME?"
ניפוי באגים

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "מופיעה לי שגיאה כשאני מנסה לבצע פעולה X או להוסיף Y. למה?"
  • "Can you spot an error in the function FUNCTION_NAME?"
  • "איך היית מתקן את הפונקציה FUNCTION_NAME בהינתן הודעת השגיאה הזו?"
למידה והכשרת עובדים חדשים

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Split this code in parts and explain each of them using our codebase."
  • ‫"Show how to call function FUNCTION_NAME?"
  • ‫"Show how to run the main function in the ENVIRONMENT_NAME environment?"
  • "What is the key technical improvement we can do to make this code more performant?"
  • ‫"Show me the implementation of FUNCTION_OR_CLASS_NAME to achieve better results and add what that specific element is"—for example, "Show me the implementation of function foo where foo is the name of the function."
העברה

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Give me a strategy for how I can migrate FILE_NAME from LANGUAGE_1 to LANGUAGE_2"—for example, from Go to Python.
  • "בהינתן הפונקציה FUNCTION_NAME במאגר REPOSITORY_NAME, תמצא לי פונקציה מקבילה בשפה LANGUAGE_NAME שאוכל להשתמש בה".

אפשר לנסות את תהליך העבודה הבא של שינוי קוד או יצירת קוד באמצעות הנחיות בצ'אט:

  1. ‫"Take FILENAME_COMPONENT code already written in LANGUAGE_1 and refactor and migrate it to LANGUAGE_2"—for example, from Go to Python.
  2. אחרי שמבצעים העברה של קוד, אפשר לנסות את הפעולות הבאות:
    • בוחרים חלקים קטנים יותר ומשתמשים ב-/fix כדי להגיע למצב הרצוי.
    • הנחיות לדוגמה:
      • "יש משהו שאפשר לשפר?"
      • ‫"Give me possible pain points" (תציג לי נקודות כאב אפשריות)
      • "איך היית בודק את הקוד הזה אם המיגרציה הזו נכונה?"
יצירת מסמכים

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • "תסכם את הקוד בחבילה או בתיקייה X ותספק תיעוד לחמש השיטות החשובות ביותר".
  • ‫"Generate documentation for FUNCTION_OR_CLASS_NAME."
  • ‫"Shorten the documentation while preserving the key information."
יצירת בדיקות יחידה

כדאי לנסות את ההנחיות הבאות בצ'אט של Gemini Code Assist:

  • ‫"Generate unit tests for FILENAME." ‏(יצירת בדיקות יחידה עבור FILENAME)
  • ‫"Add the most relevant test cases for the FUNCTION_NAME function."
  • "כדאי להסיר תרחישי בדיקה שלדעתך לא מניבים ערך רב".

שיטות מומלצות

  • משתמשים בשמות רלוונטיים של משתנים ופונקציות או בקטעי קוד. כך אפשר להתאים אישית את הקוד לפי הדוגמאות הרלוונטיות ביותר.
  • משתמשים במאגרי אינדקס שרוצים להרחיב, ונמנעים מהוספה של פונקציונליות שהוצאה משימוש. עיגון בקוד של הארגון עוזר להרחיב את סגנון הקוד, התבניות, הסמנטיקה של הקוד, הידע וההטמעות בכל בסיס הקוד. דוגמאות רעות למאגרי קוד שניתן להרחיב הם פונקציות שיצאו משימוש, קוד שנוצר והטמעות מדור קודם.
  • בתרחישי שימוש שבהם צריך לאחזר קוד, משתמשים בפונקציונליות של יצירת קוד במקום בהשלמת קוד. הנחיה באמצעות שפה כמו "Using the definition of FUNCTION_NAME, generate the exact same function," (בהתבסס על ההגדרה של [שם הפונקציה], צור את אותה פונקציה בדיוק) או "Generate the exact implementation of FUNCTION_NAME" (צור את היישום המדויק של [שם הפונקציה]).
  • כדי לשפר את ההבנה ההקשרית של Gemini, צריך לוודא שהקובץ כולל הצהרות include או import עבור הקוד שרוצים לאחזר.
  • אפשר לבצע רק פעולה אחת לכל הנחיה. לדוגמה, אם רוצים לאחזר קוד וליישם אותו בפונקציה חדשה, צריך לבצע את השלבים הבאים בשתי הנחיות.
  • בתרחישי שימוש שבהם אתם רוצים לקבל יותר מקוד (למשל הסבר על קוד, תוכנית העברה או הסבר על שגיאה), אתם יכולים להשתמש בעיגון בקוד של הארגון לצ'אט, שבה אתם מנהלים שיחה עם Gemini עם בסיס הקוד שלכם בהקשר.
  • חשוב לזכור שדור המודלים של AI הוא לא דטרמיניסטי. אם אתם לא מרוצים מהתשובה, יכול להיות שתקבלו תוצאה טובה יותר אם תריצו שוב את אותה ההנחיה.
  • הערה: בדרך כלל, יצירת בדיקות יחידה עובדת טוב יותר אם פותחים את הקובץ באופן מקומי, ואז מבקשים בצ'אט ליצור בדיקות יחידה לקובץ הזה או לפונקציה ספציפית.

קבלת הצעות רלוונטיות יותר באמצעות הקשר של מאגר מרוחק

כדי לקבל הצעות קוד רלוונטיות יותר שמתאימות להקשר, אתם יכולים להנחות את Gemini Code Assist להתמקד במאגרי קוד מרוחקים ספציפיים. כשמשתמשים בסמל @ בצ'אט, אפשר לבחור מאגר אחד או יותר שישמשו כמקור העיקרי של ההקשר להנחיות. האפשרות הזו שימושית כשעובדים על משימה שקשורה בעיקר לקבוצה ספציפית של מיקרו-שירותים, ספריות או מודולים.

כדי להשתמש במאגר מרוחק כהקשר, פועלים לפי השלבים הבאים בצ'אט של סביבת הפיתוח המשולבת:

  1. מתחילים את ההנחיה עם הסמל @. תוצג רשימה של מאגרי מידע מרוחקים זמינים שעברו אינדוקס.
  2. בוחרים מהרשימה את המאגר שרוצים להשתמש בו להוספת הקשר. אפשר גם להתחיל להקליד את שם המאגר כדי לסנן את הרשימה.
  3. אחרי שבוחרים את המאגר, כותבים את שאר ההנחיה.

‫Gemini ייתן עדיפות למאגר שנבחר כשהוא ייצור תשובה.

הנחיות לדוגמה

ריכזנו כאן כמה דוגמאות לשימוש בתכונה הזו:

  • כדי להבין מהו מאגר:
    • ‫"@REPOSITORY_NAME What is the overall structure of this repository?"
    • ‪"@REPOSITORY_NAME I'm a new team member. אפשר לקבל סקירה כללית על המטרה של המאגר הזה ועל המודולים העיקריים שלו?"
  • לגבי יצירה ושינוי של קוד:
    • ‫"@REPOSITORY_NAME הטמע פונקציית אימות שדומה לזו שמאוחסנת במאגר הזה".
    • ‫"@REPOSITORY_NAME שכתב את הקוד הבא בהתאם למוסכמות במאגר שנבחר".
    • ‫"@REPOSITORY_A_NAME איך אפשר להשתמש בפונקציות העדכניות ממאגר המידע הזה כדי לשפר את הקוד שלי ב-REPOSITORY_B_NAME?"
  • לצורך בדיקה:
    • ‫"@UNIT_TEST_FILE_NAME צור בדיקות יחידה ל-MODULE על סמך הדוגמאות בקובץ שנבחר".

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