בחנו את שיטות העבודה המומלצות של GitHub Copilot

הושלם

GitHub Copilot for Visual Studio Code עוזר למפתחים לכתוב קוד מהר יותר ועם פחות שגיאות.

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

בחר את כלי GitHub Copilot המתאים לתפקיד

בעוד שתכונות השלמת הקוד של GitHub Copilot ותכונות הצ'אט של GitHub Copilot חולקות פונקציונליות מסוימת, שני הכלים מתאימים לשימוש טוב ביותר בנסיבות שונות.

השלמת קוד מספקת את הערך הרב ביותר כאשר הם רגילים ל:

  • השלם את מקטעי הקוד, שמות המשתנים והפונקציות בזמן שאתה כותב אותם.
  • צור קוד חוזר.
  • צור קוד מהערות מוטבעות בשפה טבעית.
  • צור בדיקות לפיתוח מונחה-בדיקות.

לחילופין, תכונות הצ'אט של GitHub Copilot מספקות את הערך הרב ביותר כאשר הן רגילות ל:

  • ענה על שאלות אודות קוד בשפה טבעית.
  • צור מקטעים גדולים של קוד ולאחר מכן בצע חזרה על קוד זה בהתאם לצרכיך.
  • בצע משימות מסוימות באמצעות משתתפי צ'אט, פקודות סלאש ומשתני צ'אט. משתתפי הצ'אט (כמו @vscode או @terminal) מגדירים את ההקשר לבקשה, פקודות סלאש (כמו /explain או /fix) מעבירות את הכוונה שלך, ומשתני הצ'אט (כמו #file או #codebase) מתמקדים Copilot בהקשר ספציפי. משתתפים ופקודות שונות זמינים בפלטפורמות GitHub Copilot Chat השונות.
  • השלם משימה כאדם ספציפי. לדוגמה, אפשר לומר ל-GitHub Copilot Chat שמדובר במפתח בכיר ב-C++ שדואג מאוד לאיכות הקוד, לקריאות וליעילות. לאחר הקמת הפרסונה, תוכל לבקש מ-GitHub Copilot לבדוק את הקוד שלך.

להפיק את המירב מההצעות האינליין של GitHub Copilot

GitHub Copilot מציג הצעות אוטומטיות שיעזרו לך לקודד בצורה יעילה יותר. GitHub Copilot נותן הצעות טובות יותר כשאתה עוקב אחר פעולות והתנהגויות מסוימות. ייתכן שאתה כבר עוקב אחר חלק מהפעולות וההתנהגויות האלה, מכיוון שהם גם עוזרים לך ול העמיתים שלך להבין את הקוד שלך.

ספק הקשר ל-GitHub Copilot

GitHub Copilot עובד הכי טוב כשיש לו מספיק הקשר כדי להבין מה אתה עושה ובמה אתה רוצה עזרה. כמו שאתה מספק לעמית הקשר רלוונטי כשאתה מבקש עזרה, אתה צריך לספק ל-GitHub Copilot הקשר.

פתיחת קבצים

להשלמת קוד, GitHub Copilot בודק את הקבצים הפתוחים בעורך שלך כדי לקבוע הקשר וליצור הצעות מתאימות. פתיחת קבצים קשורים ב-Visual Studio Code בזמן השימוש ב-GitHub Copilot עוזרת להגדיר הקשר ומאפשרת ל-GitHub Copilot לראות את התמונה הגדולה של הפרויקט שלך.

הערה ברמה העליונה

כמו שאתה נותן הקדמה קצרה וברמה גבוהה לעמית לעבודה, תגובה ברמה גבוהה בקובץ קוד יכולה לעזור ל-GitHub Copilot להבין את ההקשר הכללי של הקוד שאתה יוצר.

כולל והפניות מתאימות

מומלץ להגדיר באופן ידני את ההפניות הכוללות או המודולות הדרושות לך עבור עבודתך. GitHub Copilot יכולים להציע הצעות, אבל כנראה שאתה יודע הכי טוב אילו תלותיות אתה צריך לכלול. זה גם יכול ליידע את GitHub Copilot לגבי המסגרות, הספריות והגרסאות שבהן תרצה שישתמש בהן בעת יצירת המלצות.

שמות פונקציות בעלי משמעות

בדיוק כמו ששיטה שנקראת fetchData() לא תחשוב הרבה לעמית (או לך אחרי כמה חודשים), fetchData() לא תעזור ל-GitHub Copilot להבין את הקוד שלך. שימוש בשמות פונקציות משמעותיים עוזר ל-GitHub Copilot לייצר הצעות שעושות את מה שאתה רוצה.

הערות של פונקציות ספציפיות עם טווח מסוים

שם פונקציה יכול להיות תיאורי כל כך מבלי להיות ארוך מדי. הערות על פונקציות יכולות לעזור למלא פרטים ש-GitHub Copilot אולי צריכים לדעת.

Prime GitHub Copilot עם קוד לדוגמה

טריק אחד להביא את GitHub Copilot לעמוד הנכון הוא להעתיק ולהדביק דוגמאות קוד רצויות ללשונית עורך פתוחה. הדוגמה צריכה לייצג את הקוד שאתה רוצה ש-GitHub Copilot יחקה. מתן דוגמה יכול לעזור ל-GitHub Copilot ליצור הצעות שמתאימות לשפה ולמשימות שאתה רוצה שהוא יחקה. ברגע ש-GitHub Copilot יעזור לך ליצור קוד שמתאים למטרה שלך, תוכל למחוק את קוד הדוגמה. גישה זו מועילה במיוחד כשאתה צריך "לאמן" את GitHub Copilot. לדוגמה, נניח ש-GitHub Copilot מציע כברירת מחדל קטעי קוד שמיישמים גרסה ישנה יותר של ספרייה. באפשרותך להוסיף קוד לפרוייקט שלך המשתמש בגירסה העדכנית ביותר של הספריה. זה עוזר ל-GitHub Copilot להתחיל להציע קטעי קוד שמשתמשים בגרסה העדכנית ביותר של הספרייה. ברגע ש-GitHub Copilot ילמד להשתמש בגרסת הספרייה החדשה, תוכל למחוק את קוד הדוגמה.

הקפד על עקביות ושמור על רמת האיכות גבוהה

GitHub Copilot יתחבר לקוד שלך כדי לייצר הצעות שעוקבות אחרי הדפוס הקיים, ולכן הפתגם "זבל נכנס, זבל יוצא" רלוונטי.

שמירה תמידית על סרגל באיכות גבוהה יכולה לקחת משמעת. במיוחד כאשר אתה קידוד מהיר ומשוחרר כדי לקבל משהו עובד. אולי תרצה להשבית השלמות GitHub Copilot בזמן שאתה במצב "פריצה". ניתן לבטל זמנית השלמות מתפריט הסטטוס של GitHub Copilot (נגיש משורת הסטטוס של Visual Studio Code).

תפיקו את המירב מ-GitHub Copilot Chat

כשאתה משתמש בתכונות הצ'אט של GitHub Copilot, יש כמה דברים שאתה יכול לעשות כדי לייעל את החוויה שלך.

התחל באופן כללי, ולאחר מכן קבל פרטים ספציפיים

כשאתה כותב הנחה ל-GitHub Copilot, קודם כל תן ל-GitHub Copilot תיאור כללי של המטרה או התרחיש. לאחר מכן פרט את הדרישות הספציפיות. שקול את ההנחיות הבאות:

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

תן דוגמאות

השתמש בדוגמאות כדי לעזור ל-GitHub Copilot להבין מה אתה רוצה. באפשרותך לספק נתוני קלט לדוגמה, פלטים לדוגמה והטמעות לדוגמה.

חלוקה של פעילויות מורכבות לפעילויות פשוטות יותר

אם אתה רוצה ש-GitHub Copilot ישלים משימה מורכבת או גדולה, חלק את המשימה למספר משימות פשוטות וקטנות. לדוגמה, במקום לבקש מ-GitHub Copilot ליצור חידת חיפוש מילים, פרקו את התהליך למשימות קטנות יותר, ובקשו מ-GitHub Copilot לבצע אותן אחת אחת:

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

הימנע מ רב-משמעיות

הימנע מתנאים רב-משמעיים. לדוגמה, אל תשאל "מה זה עושה" כש"זה" יכול להיות הקובץ הנוכחי, התגובה האחרונה של GitHub Copilot, או בלוק קוד מסוים. במקום להשתמש במונחים רב-משמעיים, היה ספציפי: מה עושה הפונקציה createUser?

ציין קוד רלוונטי

אם אתה משתמש בצ'אט של GitHub Copilot ב-IDE שלך, פתח את הקבצים או סמן את הקוד שאתה רוצה ש-GitHub Copilot יקבל אותו. השתמש במשתתפים בצ'אט, בפקודות קו נטוי ובמשתנים של צ'אט בהנחיות להגדרת הקשר. לדוגמה, ציין אילו קבצים GitHub Copilot Chat צריך להתייחס אליו.

שימוש במשתתפים בצ'אט, בפקודות קו נטוי ובמשתנים של צ'אט

משתתפי הצ'אט מיועדים לאסוף הקשר נוסף לגבי בסיס קוד או תחום או טכנולוגיה ספציפיים. כשאתה מגדיר את המשתתף המתאים, GitHub Copilot Chat יכול למצוא ולספק מידע טוב יותר לשלוח ל-GitHub Copilot backend. לדוגמה, השתמש ב-@vscode כשאתה שואל שאלות על תכונות Visual Studio Code ו-APIs.

פקודות Slash עוזרות ל-GitHub Copilot Chat להבין את הכוונה שלך כשאתה שואל שאלה. האם אתה לומד על בסיס קוד (/explain), האם אתה רוצה עזרה בתיקון בעיה (/fix), או שאתה יוצר מקרי בדיקה (/tests)? על ידי כך ש-GitHub Copilot Chat יודע מה אתה מנסה לעשות, הוא יכול לכוון את התשובה למשימה שלך ולספק פקודות, הגדרות וקטעי קוד מועילים.

משתתפי הצ'אט, כמו @terminal או @vscode, יכולים לתרום משתני צ'אט המספקים הקשר ספציפי לתחום הספציפי. אתה יכול להתייחס למשתנה צ'אט בהנחיית הצ'אט שלך באמצעות הסמל.# באפשרותך להשתמש במשתנה צ'אט כדי להיות ספציפי יותר בהקשר של הבקשה שלך.

לדוגמה, משתנה #file הצ'אט מאפשר לך להתייחס לקבצים מסוימים מהמרחב שלך בשורת הצ'אט. זה עוזר להפוך את התשובות מ-GitHub Copilot Chat לרלוונטיות יותר לקוד שלך על ידי מתן הקשר לקובץ שאתה עובד איתו. אתה יכול לשאול שאלות כמו "Can you suggest improvements to #file:package.json?" או "How do I add an extension in #file:devcontainer.json?". שימוש במשתנה #file יכול לעזור לך לקבל תגובות ממוקדות ומדויקות יותר GitHub Copilot.

התנסות וחזרה

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

שמור על רלוונטיות ההיסטוריה

GitHub Copilot Chat משתמש בהיסטוריית הצ'אט כדי לקבל הקשר לגבי הבקשה שלך. כדי לוודא ש-GitHub Copilot משתמש בהיסטוריית צ'אט רלוונטית:

  • השתמש בשרשורים כדי להתחיל שיחה חדשה עבור משימה חדשה.
  • מחק בקשות שאינם רלוונטיים עוד או שלא מספקים לך את התוצאה הרצויה.

פעל לפי שיטות קידוד טובות

אם אינך מקבל את התשובות שאתה רוצה כשאתה מבקש הצעות מ-GitHub Copilot, ודא שהקוד הקיים שלך עומד בשיטות עבודה מומלצות וקל לקריאה. לדוגמה:

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

סיכום

GitHub Copilot הוא כלי עוצמתי שיכול לעזור לך לכתוב קוד מהר יותר ועם פחות שגיאות. עם זאת, כדי להפיק את המירב מ-GitHub Copilot, עליך לעקוב אחרי שיטות עבודה מומלצות. על ידי בחירת כלי GitHub Copilot המתאים למשימה, מתן הקשר ויישום שיטות קידוד טובות, תוכל למקסם את החוויה שלך עם GitHub Copilot.