קוד רפקטור באמצעות GitHub Copilot Inline Chat
פיצ'ר הצ'אט הפנימי של GitHub Copilot מאפשר לך לשחזר קוד ישירות בעורך הקוד. צ'אט מוטבע שימושי כאשר ברצונך לבצע שינויים בקוד שלך מבלי לעבור לתצוגת צ'אט.
הבנת הקוד שלך
לפני שתעבור על הקוד שלך, חשוב להבין את הקוד שאתה עובד איתו. עליך להבין את מטרת הקוד, את אופן הפעולה שלו ואת כל יחסי התלות שעשויים להיות לו. אם אינך מכיר את הקוד, החלוף זמן מה כדי לקרוא אותו ולהבין את המבנה והלוגיקה שלו. שימוש ב-GitHub Copilot לניתוח הקוד יכול לעזור לך לזהות תחומים לשיפור ולהציע אפשרויות רפקטורינג.
באפשרותך להשתמש בתכונה צ'אט מוטבע כדי לשאול שאלות אודות הקוד, לקבל הסברים על חלקים ספציפיים או לבקש הצעות לשיפורים. לדוגמה, תוכל לבקש מ-GitHub Copilot להסביר איך פונקציה מסוימת עובדת או להציע דרכים לאופטימיזציה שלה. באפשרותך גם להשתמש בתכונה 'צ'אט מוטבע' כדי לבקש עזרה במשימות קידוד ספציפיות, כגון שיפור פונקציה או שיפור קריאות הקוד.
הנה כמה דוגמאות להנחיות שמבקשות עזרה מ-GitHub Copilot עם הקוד:
/explain Explain how authentication is implemented in this code
/explain Can this code be updated to improve security? Explain the concepts and show some examples
אם ההסבר ארוך או מורכב, באפשרותך לעבור לתצוגת צ'אט כדי להמשיך בשיחה. באפשרותך גם להשתמש בתצוגת צ'אט כדי לשאול שאלות המשך טיפול או לבקש מידע נוסף.
שימוש בצ'אט מוטבע כדי לתעל את הקוד
השתמש בתכונה צ'אט מוטבע כאשר ברצונך לשנות מקטע של קוד המבצע משימה ספציפית. לקבלת שינויים מורכבים יותר הכוללים עדכון קבצים או פרוייקטים מרובים, השתמש באחד המצבים של תצוגת צ'אט.
כדי לתעל קוד באמצעות צ'אט מוטבע, בצע את הפעולות הבאות:
פתח את הקובץ המכיל את הקוד שברצונך למטב.
בחר את הקוד שברצונך למטב.
פתח הפעלת צ'אט מוטבע.
השתמש בקיצור המקשים Ctrl+I כדי לפתוח את הפעלת הצ'אט ה מוטבע. חלופה נוספת היא לבחור ב-Editor Inline Chat מאחד מהתפריטים GitHub Copilot.
הערה
אם הקובץ שייך לסשן עריכת צ'אט פעיל, לחיצה על Ctrl+I פותחת את Ask in Chat בתצוגת הצ'אט במקום בצ'אט הרגיל. זה מנתב את ההנחיה שלך לסשן הקיים כדי שיוכל להשתמש בהקשר המלא של השיחה. כדי להשתמש תמיד בצ'אט אינליין רגיל בלי קשר למצב הסשן, הגדר
inlineChat.askInChatאת בהגדרותfalseVS Code.הזן בקשה המבקשת מיטוב.
לדוגמה: האם ניתן לשפר את הקוד הזה?
סקור את עדכון הקוד המוצע.
GitHub Copilot מיישם את עדכון הקוד המומלץ ישירות בעורך, שם ניתן לסקור אותו במקום, עם ההקשר המלא של הקוד שמסביב.
בחר קבל או סגור כדי לקבל או לבטל את עדכון הקוד המוצע.
כמו בכל GitHub הצעות של Copilot, בדוק שהקוד המתוקן רץ ללא שגיאות ומניב את התוצאה הנכונה.
הדוגמה הבאה מדגימה כיצד להשתמש בצ'אט מוטבע כדי לשנות שיטת C# שמ מעבדת נתונים.
השיטה המקורית מבצעת ניקוי נתונים, בונה טבלת נתונים ולאחר מכן מדפיסה את תוכן הטבלה. שילוב כמה פעולות בשיטה אחת מקשה על תחזוקת הקוד ובדיקה שלו.
באפשרותך לשנות את השיטה המקורית על-ידי בקשה לצ'אט מוטבע ליצור שיטות נפרדות עבור כל אחת מהמשימות שבוצעו בשיטה המקורית.
הנה הקוד המקורי:
using System;
using System.Data;
public class DataProcessor
{
public void ProcessData(string item, string price)
{
// Cleanse the data
item = item.Trim(); // Remove leading and trailing whitespace
price = price.Trim(); // Remove leading and trailing whitespace
double priceValue = double.Parse(price); // Convert price to a double
// More cleansing operations can be added here
// Create and print a DataTable
DataTable table = new DataTable();
table.Columns.Add("Item", typeof(string));
table.Columns.Add("Price", typeof(double));
table.Rows.Add(item, priceValue);
foreach (DataRow row in table.Rows)
{
Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}");
}
}
}
// Example usage
class Program
{
static void Main()
{
string item = " Apple ";
string price = " 1.50 ";
var processor = new DataProcessor();
processor.ProcessData(item, price);
}
}
כדי לשנות את פעולת השירות ProcessData, בצע את הפעולות הבאות:
בחר את פעולת השירות ProcessData.
פתח צ'אט מוטבע.
הזן הודעה שמבקשת GitHub Copilot ליצור מתודות נפרדות לכל משימה, ואז לחץ על Enter.
לדוגמה: אני רוצה לבצע ריפקטור של שיטת ProcessData. אני רוצה שיטה לניקוי נתונים, שיטה להדפסה, ושיטה לעיבוד נתונים.
סקור את עדכון הקוד המוצע.
לדוגמה זו, GitHub Copilot מציע גרסה משופרת של השיטה המקורית שמחלקת את משימות הניקוי וההדפסה לשיטות נפרדות.
using System; using System.Data; public class DataProcessor { public void ProcessData(string item, string price) { (string cleansedItem, double cleansedPrice) = CleanseData(item, price); DataTable table = new DataTable(); table.Columns.Add("Item", typeof(string)); table.Columns.Add("Price", typeof(double)); table.Rows.Add(cleansedItem, cleansedPrice); PrintData(table); } private (string, double) CleanseData(string item, string price) { string trimmedItem = item.Trim(); string trimmedPrice = price.Trim(); double priceValue = double.Parse(trimmedPrice); return (trimmedItem, priceValue); } private void PrintData(DataTable table) { foreach (DataRow row in table.Rows) { Console.WriteLine($"Item: {row["Item"]}, Price: {row["Price"]}"); } } } // Example usage class Program { static void Main() { string item = " Apple "; string price = " 1.50 "; var processor = new DataProcessor(); processor.ProcessData(item, price); } }בדוגמה זו, שיפור הקוד המקורי משפר את המודולריות והופכת את הקוד לקל יותר להבנה.
בחר קבל או סגור כדי לקבל או לבטל את עדכון הקוד המוצע.
בדוגמה הזו, הקוד המוצע נראה טוב, אז תבחר ב-Accept כדי להחיל את הקוד המשופץ על הפרויקט שלך.
כמו בכל GitHub הצעות של Copilot, בדוק שהקוד המתוקן רץ ללא שגיאות ומניב את התוצאה הנכונה.
בדוק את הקוד השוחזר כדי לוודא שהוא פועל ללא שגיאות ומפיק את התוצאה הצפויה.
תקציר
פיצ'ר הצ'אט הפנימי של GitHub Copilot מאפשר לך לשחזר קוד ישירות בעורך הקוד. צ'אט מוטבע שימושי כאשר ברצונך לבצע שינויים בקוד שלך מבלי לעבור לתצוגת צ'אט. באפשרותך להשתמש בצ'אט מוטבע כדי לבקש עזרה במשימות קידוד ספציפיות, כגון שיפור פונקציה או שיפור קריאות הקוד. באפשרותך גם להשתמש בצ'אט מוטבע כדי להעריך את הקוד הקיים שלך לפני השנוי.