الاقتراحات المضمّنة وCopilot Chat
أتقن إكمالات الكود المضمّنة واقتراحات التعديل التالي وأوامر Copilot Chat — سير العمل اليومي الأساسي لكل مستخدم Copilot.
أتقن إكمالات الكود المضمّنة واقتراحات التعديل التالي وأوامر Copilot Chat — سير العمل اليومي الأساسي لكل مستخدم Copilot.
أثناء الكتابة، يتنبأ Copilot بالكود الذي ستكتبه ويعرضه كنص شبح رمادي. هذا هو التفاعل الأكثر تكراراً مع Copilot — قبول أو تجاهل الاقتراحات دون قطع التدفق.
| الإجراء | المفتاح |
|---|---|
| قبول الاقتراح بالكامل | Tab |
| قبول كلمة بكلمة | Ctrl+Right (macOS: Cmd+Right) |
| رفض الاقتراح | Escape |
| رؤية الاقتراح التالي | Alt+] |
| رؤية الاقتراح السابق | Alt+[ |
| عرض جميع الاقتراحات | حرّك الماوس فوق النص الشبح ← "Open Completions Panel" |
يستخدم Copilot نافذة سياق كبيرة لتوليد الإكمالات:
كتابة تعليق وصفي قبل دالة يحسّن جودة الإكمال بشكل ملحوظ:
# Parse a JWT token, return the payload dict, raise ValueError if expired or invalid
def parse_jwt(token: str) -> dict:سيولّد Copilot تنفيذاً كاملاً يعمل بناءً على التعليق.
اقتراحات التعديل التالي (NES) هو وضع يتنبأ فيه Copilot بـموقع تعديلك التالي وينقل مؤشرك إليه تلقائياً.
بعد إجراء تغيير — مثلاً إعادة تسمية دالة — يُبرز Copilot الموقع التالي الذي يحتاج إلى تحديث على الأرجح (نقاط الاستدعاء الأخرى، الاختبارات، تعريفات النوع). اضغط Tab للانتقال إليه وقبول التغيير المقترح. استمر في الضغط على Tab للتعامل مع سلسلة التعديلات المرتبطة بالكامل.
هذا متاح في VS Code وXcode وEclipse.
تعمل اقتراحات التعديل التالي بشكل أفضل مع TypeScript وPython حيث تمنح معلومات النوع Copilot إشارات قوية حول ما يحتاج تحديثاً بعد إعادة الهيكلة.
افتح Copilot Chat بـ Ctrl+Alt+I (macOS: Cmd+Ctrl+I) أو بالنقر على أيقونة chat في شريط النشاط. هذا يفتح لوحة محادثة كاملة حيث يمكنك طرح الأسئلة، وطلب الكود، وتصحيح الأخطاء، وشرح المفاهيم.
يُدرك Chat السياق: يعرف ملفاتك المفتوحة، والكود المحدد، وهيكل المشروع.
اكتب أي سؤال أو طلب باللغة الطبيعية:
What does the `useMemo` hook do and when should I use it?
Refactor this function to use early returns instead of nested if-statements
This test is failing — what's wrong?
أضف سياقاً بمتغيرات #:
| المتغير | ما يتضمنه |
|---|---|
| #file | ملف محدد من workspace الخاص بك |
| #selection | الكود المحدد حالياً |
| #codebase | بحث دلالي عبر مشروعك بالكامل |
| #git | تغييرات git الأخيرة أو diffs |
| #terminalLastCommand | مخرجات آخر أمر طرفي |
مثال:
#file:src/auth.ts Why does the token refresh happen twice on login?
اكتب / في chat للوصول إلى الأوامر المدمجة:
| الأمر | الغرض |
|---|---|
| /explain | شرح الكود المحدد أو مفهوم ما |
| /fix | إصلاح خطأ في الكود المحدد |
| /tests | توليد اختبارات وحدة للكود المحدد |
| /doc | توليد توثيق للكود المحدد |
| /new | إنشاء شتلة لمشروع أو ملف جديد |
| /clear | بدء محادثة جديدة |
مثال على سير العمل:
/fix it's returning undefined on the second callاضغط Cmd+I (Ctrl+I) لفتح chat مصغّر مباشرة عند موضع مؤشرك — دون الحاجة للتبديل إلى لوحة chat. اطرح سؤالاً سريعاً أو أجرِ تعديلاً مستهدفاً مضمّناً:
make this function async and await the database call
يعدّل Copilot الكود مضمّناً ويعرض diff. اقبل بـ Enter، ارفض بـ Escape.
تتعامل الإكمالات المضمّنة مع تدفق الكتابة اللحظية. يتعامل Chat مع الأسئلة والتعديلات الأكبر. تربطهما اقتراحات التعديل التالي بتتبع التغييرات المتتالية عبر مشروعك. الوحدة التالية تقدم وضع Agent — حيث يعمل Copilot باستقلالية عبر ملفات متعددة وطرفيتك.