اطلع GitHub Copilot الدردشة الداخلية، والإجراءات الذكية، والدردشة السريعة
بالإضافة إلى عرض الدردشة، يوفر GitHub Copilot Chat عدة طرق أخرى للتفاعل مع مبرمج الزوج الذكاء الاصطناعي. تشمل هذه الدردشة الداخلية والإجراءات الذكية.
الدردشة المضمنة
واحدة من الميزات الرئيسية في GitHub Copilot Chat هي الإجابة على الأسئلة داخل الخط أثناء البرمجة. يسمح لك هذا بتسخير قوة الذكاء الاصطناعي مباشرة داخل محرر التعليمات البرمجية، مع الحد الأدنى من الانقطاع لسير عمل التطوير الخاص بك.
لا يمكن الوصول إلى ميزة الدردشة المضمنة إلا عند فتح ملف في المحرر. هناك عدة طرق لفتح جلسة دردشة مضمنة:
- اختر محرر الدردشة الداخلية من قائمة GitHub Copilot Chat.
- استخدم اختصار لوحة المفاتيح: Ctrl+I.
- انقر بزر الفأرة الأيمن داخل محرر الكود، اختر Copilot من قائمة السياق، ثم اختر Editor Inline Chat.
يمكنك استخدام جلسة دردشة داخلية لطرح أسئلة GitHub Copilot أثناء كتابة أو تعديل الكود.
عند فتح جلسة دردشة مضمنة، يتم تقديم الواجهة التالية في المحرر.
فكر في السيناريو التالي:
- تقوم بتطوير تطبيق C# يعالج قائمة رقمية. تتم معالجة البيانات على دفعات من 100.
- يمكنك استخدام القصاصة البرمجية أدناه لإنشاء قائمة تضم 100 عدد صحيح عشوائي بين 1 و1000 يمكنك استخدامها للاختبار.
// create a list of 100 random number between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
for (int i = 0; i < 100; i++)
{
numbers.Add(random.Next(1, 1000));
}
تعمل التعليمات البرمجية بشكل جيد. ومع ذلك، ماذا لو تغيرت المتطلبات؟ ماذا لو كنت بحاجة إلى التأكد من أن القائمة لا تتضمن أي أرقام مكررة؟
لتحديث كودك باستخدام GitHub Copilot الإكمال التلقائي، ستحتاج إلى:
- حذف التعليمات البرمجية الموجودة.
- إنشاء تعليق جديد يعكس متطلباتك المحدثة.
- استخدم GitHub Copilot لإنشاء مقتطف جديد من التعليق المحدث.
- راجع الاقتراحات وحدد الخيار الأفضل.
لحسن الحظ هذا ليس ضروريا. الحل الأفضل هو استخدام GitHub Copilot Chat لاقتراح تحديثات الكود المطلوبة.
يمكنك استخدام جلسة دردشة مضمنة لاقتراح تحديث التعليمات البرمجية كما يلي:
- قم بتمييز القصاصة البرمجية التي تريد تحديثها.
- اضغط
Ctrl+Iلفتح الدردشة الداخلية. - اسأل GitHub Copilot Chat كيفية إكمال التحديث.
- راجع الاقتراحات وحدد الخيار الأفضل.
في هذه الحالة، يمكنك أن تسأل: Update this code to ensure that numbers doesn't include any duplicates
إذا أعجبتك تحديثات الكود المقترحة، يمكنك اختيار قبول ومتابعة البرمجة.
إذا لم تعجبك التحديثات المقترحة، يمكنك طلب GitHub Copilot Chat إنشاء اقتراح آخر باختيار Rerun... أيقونة . يتم عرض أيقونة إعادة التشغيل كسهم دائري يظهر أسفل مربع نص المطالبة.
إذا قمت بإعادة تشغيل المطالبة ولا تزال لا تحصل على النتائج التي تحتاج إليها، فحاول تحديث المطالبة بسياق إضافي. GitHub Copilot Chat يولد اقتراحات أفضل عندما يكون الموضوع واضحا وموجزا ودقيقا. يمكنك اختيار Discard لإغلاق الدردشة الداخلية دون إجراء أي تغييرات.
الإجراءات الذكية
بعض المهام شائعة جدا بحيث يمكن تشغيلها تلقائيا. يتضمن GitHub Copilot Chat إجراءات ذكية تتيح لك إكمال مهام معينة دون الحاجة لكتابة تنبيه. الإجراءات الذكية هي إجراءات محددة مسبقا يمكنك تشغيلها مباشرة من محرر Visual Studio Code لأداء مهام البرمجة الشائعة بسرعة وسهولة.
تتوفر الإجراءات الذكية التالية:
-
شرح: يقوم الإجراء
Explainبإنشاء وصف لغوي طبيعي للكود المختار. يمكن أن يكون هذا مفيدا لفهم الغرض من مقتطف التعليمات البرمجية ووظائفه. هذاExplainالإجراء مفيد بشكل خاص إذا كنت تعمل على كود غير مألوف أو تحتاج لشرح الكود للآخرين. -
الإصلاح: يقترح الإجراء
Fixحلا للكود المحدد. يمكن أن يكون هذا مفيدا إذا واجهت خطأ أو مشكلة في التعليمات البرمجية الخاصة بك وتحتاج إلى إرشادات حول كيفية حلها. يمكن GitHub Copilot Chat اقتراح تغييرات على المتغيرات أو هياكل التحكم أو استدعاءات الوظائف التي قد تحل المشكلة. -
المراجعة والتعليق: يوفر الإجراء
Review and Commentمراجعة للكود المختار. يمكن أن يكون هذا مفيدا لتحديد المشكلات المحتملة، وتحسين جودة التعليمات البرمجية، وضمان اتباع أفضل الممارسات. يمكن أن يساعدك هذاReview and Commentالإجراء في تحديد الأخطاء، وعنقات الأداء، والثغرات الأمنية في كودك. -
إنشاء المستندات: يقوم الإجراء
Generate Docsبإنشاء وثائق للكود المختار. يمكن أن يكون هذا مفيدا لتوثيق قاعدة التعليمات البرمجية الخاصة بك، خاصة إذا كنت تعمل على مشروع مع عدة مساهمين أو تحتاج إلى مشاركة التعليمات البرمجية الخاصة بك مع الآخرين. -
توليد الاختبارات: يقوم الإجراء
Generate Testsبإنشاء اختبارات وحدة للكود المختار. يمكن أن يكون هذا مفيدا لضمان صحة وموثوقية التعليمات البرمجية الخاصة بك، خاصة إذا كنت تعمل على مشروع بمنطق معقد أو وظائف مهمة.
للوصول إلى الإجراءات الذكية، انقر بزر الفأرة الأيمن على مقتطف كود في المحرر واختر الإجراء المطلوب من قائمة السياق GitHub Copilot.
مرة أخرى، دعونا نفكر في تطبيق الأرقام الرئيسية.
في القسم السابق، اقترحت الدردشة الداخلية الكود التالي لضمان numbers عدم تضمين أي نسخ مكررة:
// create a list of 100 random numbers between 1 and 1000
List<int> numbers = new List<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
على الرغم من أن هذه التعليمة البرمجية تضمن مجموعة من العناصر الفريدة، فقد تكون هناك فرص للتحسين.
يمكنك استخدام إجراء مراجعة هذا الذكي للتحقق من اختيارات الكود. لاستخدام هذا الإجراء الذكي:
حدد قصاصة برمجية تحتاج إلى مراجعة. في هذه الحالة، التعليمات البرمجية التي تنشئ قائمة الأرقام العشوائية.
اختر مراجعة هذا من قائمة السياق GitHub Copilot.
راجع التحديثات المقترحة واختر القبول لتطبيق التغييرات.
بالنسبة لمقتطف الكود الذي يولد أرقاما عشوائية، المراجعة هذه الخطوة الذكية تقترح ما يلي:
- يتم التهيئة
List<int> numbersبقدرة على100تجنب عدة تغييرات في الحجم أثناء فترة السكان. - استخدام حرف A
HashSet<int>بدلا من aList<int>لعمليات بحث أسرع عند البحث عن النسخ المكررة.
في هذه الحالة، هذا الإجراء الذكي يقودك إلى الاستخدام HashSet<int> بدلا List<int> من تحسين الأداء.
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers);
Console.WriteLine(sum);
على الرغم من أن استخدام A HashSet يعمل بكفاءة لضمان مجموعة من العناصر الفريدة، إلا أن التحديث يخلق مشكلة جديدة. تتوقع الطريقة addPrimeNumbersInNumericList مدخلا كList<int>، لكن الكود المحدث ينشئ .HashSet<int> يؤدي هذا إلى خطأ التحويل البرمجي التالي:
لحسن الحظ، يمكنك استخدام إجراء الإصلاح الذكي لتصحيح الخطأ. لاستخدام إجراء Fix الذكي:
انقر بزر الماوس الأيمن فوق القصاصة البرمجية التي تحتاج إلى إصلاح. في هذه الحالة، التعليمات البرمجية المسطرة باللون الأحمر.
اختر Fix من قائمة السياق GitHub Copilot.
راجع الإصلاح المقترح واختر قبول لتطبيق التغييرات.
Fix الإجراء الذكي يولد اقتراحا أو أكثر لإصلاح الخطأ. في هذه الحالة، يستخدم أحد الاقتراحات ToList() الطريقة لتحويل إلى HashSet داخل List النداء إلى addPrimeNumbersInNumericList. ستبدو التعليمات البرمجية الناتجة مشابهة لمقتطف التعليمات البرمجية التالي:
// create a list of 100 random numbers between 1 and 1000
HashSet<int> numbers = new HashSet<int>();
Random random = new Random();
while (numbers.Count < 100)
{
int randomNumber = random.Next(1, 1000);
if (!numbers.Contains(randomNumber))
{
numbers.Add(randomNumber);
}
}
int sum = addPrimeNumbersInNumericList(numbers.ToList());
Console.WriteLine(sum);
كالعادة، راجع الاقتراح الذي قدمه GitHub Copilot Chat. قد تكون هناك حلول أفضل. يمكنك اختيار قبول لتحديث الكود مع الإصلاح المقترح.
ملخص
يوفر GitHub Copilot Chat عدة طرق للتفاعل مع مبرمج الزوج الذكاء الاصطناعي، بما في ذلك الدردشة الداخلية والإجراءات الذكية. تسمح لك هذه الميزات بطرح الأسئلة والحصول على اقتراحات التعليمات البرمجية وتنفيذ مهام الترميز الشائعة بسرعة وسهولة. تتيح لك الدردشة الداخلية طرح GitHub Copilot الأسئلة مباشرة في المحرر دون تغيير السياق. توفر الإجراءات الذكية عمليات محددة مسبقا مثل شرح الكود، تصحيح الأخطاء، توليد الاختبارات، ومراجعة الكود الذي يمكنك تشغيله بنقرة واحدة من قائمة السياق.