الإكمال التلقائي Tab وCmd+K
أتقن نموذج Tab في Cursor للتنبؤ بالأكواد المضمّنة وCmd+K للتعديل المضمّن المستهدف — أسرع طريقتين لكتابة الأكواد بالذكاء الاصطناعي.
أتقن نموذج Tab في Cursor للتنبؤ بالأكواد المضمّنة وCmd+K للتعديل المضمّن المستهدف — أسرع طريقتين لكتابة الأكواد بالذكاء الاصطناعي.
Tab هو نظام الإكمال التلقائي المضمّن في Cursor. يعتمد على نموذج متخصص مدرب خصيصاً للتنبؤ بتعديلك التالي على الكود — ليس فقط ما يأتي بعد مؤشرك، بل ما من المحتمل أن تغيره في أي مكان على الشاشة.
لاستخدامه: فقط اكتب. يظهر نص شبح يُظهر تنبؤ Cursor. اضغط Tab لقبول الاقتراح بالكامل، أو اضغط Tab مع الاستمرار لقبول كلمة بكلمة.
يقترح الإكمال التلقائي العادي ما تكتبه بعد مؤشرك. يتنبأ نموذج Tab في Cursor بـتعديلك التالي — يراقب ما غيّرته للتو ويتوقع التغيير المرتبط الذي ستجريه، حتى لو كان في سطر مختلف.
على سبيل المثال، إذا أعدت تسمية معامل في توقيع دالة، سيقترح Tab فوراً إعادة التسمية المقابلة في جسم الدالة.
| الإجراء | المفتاح |
|---|---|
| قبول الاقتراح بالكامل | Tab |
| قبول كلمة واحدة | Ctrl+Right (macOS: Cmd+Right) |
| رفض الاقتراح | Escape |
| التشغيل يدوياً | ابدأ الكتابة — تظهر الاقتراحات تلقائياً |
إذا كنت تستخدم VS Code أو Cursor IDE، فإن اقتراحات التعديل التالي (NES) تتنبأ بـموقع تعديلك التالي وتنقل مؤشرك إليه تلقائياً. هذا مفيد بعد إعادة الهيكلة — يُرشدك Cursor عبر كل نقطة تحتاج إلى تحديث.
تعمل اقتراحات التعديل التالي بشكل أفضل مع TypeScript وPython وJavaScript. للغات الأخرى، لا تزال إكمالات Tab العادية فعّالة.
يفتح Cmd+K (Ctrl+K على Windows/Linux) شريط التعديل المضمّن. يولّد أو يعيد كتابة الكود مباشرة في المحرر، ويُظهر لك الفرق diff قبل التطبيق.
ضع مؤشرك حيث تريد الكود الجديد، اضغط Cmd+K، وصف ما تريد:
Write a debounce function with a configurable delay and immediate-execution option
يولّد Cursor الكود بشكل مضمّن. يُظهر diff — الأسطر الخضراء هي إضافات:
+ function debounce(fn, delay, immediate = false) {
+ let timer;
+ return function (...args) {
+ const callNow = immediate && !timer;
+ clearTimeout(timer);
+ timer = setTimeout(() => {
+ timer = null;
+ if (!immediate) fn.apply(this, args);
+ }, delay);
+ if (callNow) fn.apply(this, args);
+ };
+ }اقبل بـ Enter، ارفض بـ Escape، أو اكتب تعليمات متابعة لتحسينه.
حدد كتلة من الكود، اضغط Cmd+K، ثم صف التحويل:
Convert this class component to a functional component with hooks
يعيد Cursor كتابة التحديد في مكانه ويُظهر الفرق. تراجع وتقبل.
| السيناريو | النتيجة | |---|---| | لا يوجد تحديد، المؤشر على سطر فارغ | يولّد كوداً جديداً عند المؤشر | | كود محدد | يعيد كتابة التحديد بناءً على تعليماتك | | المؤشر داخل دالة | يولّد أو يستبدل أقرب كتلة منطقية |
سير العمل الموصى به هو:
على سبيل المثال: استخدم Cmd+K لتوليد مسار API جديد، ثم استخدم Tab للسماح لـ Cursor بملء الاستيرادات، وتحديث الموجّه، وإضافة تعريفات النوع — دون أن تضطر للتنقل يدوياً إلى كل نقطة.
تختفي اقتراحات Tab إذا نقلت مؤشرك أو بدأت بكتابة شيء مختلف. إذا أردت إعادة تشغيل اقتراح، فقط توقف عن الكتابة لمدة 300 ميللي ثانية وسيعود.
يتعامل Tab مع التنبؤ المستمر أثناء الكتابة؛ أما Cmd+K فيتعامل مع التوليد والإعادة الكتابة عند الطلب. معاً يُزيلان معظم العمل الميكانيكي في البرمجة. الوحدة التالية تغطي وضع Chat وAgent — حيث تعطي Cursor تعليمات عالية المستوى وينفّذ تغييرات متعددة الملفات باستقلالية.