بعد ما يقارب السبع سنوات من استخدامي لفيجوال ستوديو كود بشكل يومي كمحرر كود رئيسي لكل مشاريعي، قررت الانتقال إلى محرر كود جديد كما هو واضح من عنوان المقال: Cursor AI. هذا المقال سيكون مراجعة لـ Cursor AI واستعراضًا لأهم ميزاته، كما سنجيب على بعض الأسئلة مثل: هل يستحق السعر؟ أو هل حسّن إنتاجيتي فعلاً؟ وأسئلة أخرى سنجيب عليها في هذا المقال. لنبدأ.
مقدمة
في البداية، عندما ظهر Cursor AI، قمنا بتجربته في منشور سابق، وأنصح الجميع بالعودة لمراجعته بعد الانتهاء من هذا المقال. خلال تلك التجربة، ذكرت أنني قد أقدم مراجعة كاملة عنه بعد بضعة أشهر من الاستخدام الفعلي. هذا الكلام كان قبل سبعة أشهر، تأخرت المراجعة قليلاً، ولكن لعل في التأخير خيراً. خلال السبع شهور، أتيحت لي الفرصة لتجربة المنتج بشكل مكثف وتجربة كل ميزاته، لذا سأتحدث عن شيء جربته بالفعل بشكل كبير. سأقدم أيضاً أمثلة حقيقية قمت بتنفيذها باستخدام Cursor AI وأعرض لكم النتائج.
استعراض ميزات Cursor AI
لنبدأ باستعراض ميزاته:
١. تخمين التعديل التالي (Inline Edit)
أول ميزة، وربما تكون أهم ميزة سواء في Cursor AI أو كل محررات الكود المعتمدة على الذكاء الاصطناعي، هي تخمين التعديل التالي، أو كما يسمونها في Cursor AI “تاب تاب تاب”. هذه الميزة موجودة في كل الأدوات المشابهة وموجودة أيضاً في GitHub Copilot منذ نسخته الأولى. ولكن في GitHub Copilot، تعمل الميزة بشكل شبيه بالإكمال التلقائي ولكن باستخدام الذكاء الاصطناعي؛ أي حيثما كنت تقف في الملف وتكتب، سيحاول الذكاء الاصطناعي إكمال الكود الذي تحاول كتابته.
لكن في Cursor AI، تعمل الميزة بشكل أذكى قليلاً. سيقترح لك Cursor AI تعديلات في كل مكان داخل الملف المفتوح. فمثلاً، لو بدأت في تنفيذ دالة جديدة، بعد كتابة الدالة والانتهاء من اقتراح الكود لها، سيقترح عليك أيضاً استخدام هذه الدالة، سواء كان هذا الاستخدام في السطر التالي أو في أي مكان آخر من الملف المفتوح. هذه الميزة هي المفضلة بالنسبة لي، وبرأيي هي السبب الذي جعلهم ينشئون Cursor AI كبيئة تطوير متكاملة منفصلة، وليس مجرد إضافة (plugin) يتم تثبيتها على Visual Studio Code أو محرر آخر.
٢. الوضع الوكيل (Agent Mode)
بشكل مبهر للغاية، من خلال نافذة شبيهة بالدردشة، يمكنك أن تخبر الذكاء الاصطناعي بما تحاول بناءه، وسيقترح عليك تعديلات على قاعدة الكود بأكملها، وليس فقط الملف المفتوح أو الملف الذي تشير إليه. مؤخراً، كنت أعمل على موقعي الشخصي، وسترون بعض الرسوم المتحركة التي أنشأتها باستخدام الوضع الوكيل بالكامل. حاولت ألا أكتب الكود يدوياً، مع أنني اضطررت أكثر من مرة للتدخل يدوياً لإصلاح بعض الأشياء، ولكن المنتج بشكل أساسي تم بناؤه باستخدام الوضع الوكيل فقط. على سبيل المثال، الرسوم المتحركة عند زر النسخ أو عند التحويم (hover) فوق العناصر، كلها مصنوعة بالكامل باستخدام الوضع الوكيل.
أيضاً، داخل الوضع الوكيل، ستجد قائمة لتحديد الملفات التي ترغب في العمل عليها وإضافتها إلى سياق الطلب (prompt). في معظم الأحيان، لم أحتج لاستخدامها، حيث كان الذكاء الاصطناعي ذكياً بما فيه الكفاية لتحديد السياق بنفسه. ويوجد أيضاً زر لتحديد ملفات أو صور لإرفاقها مع الطلب، ولكنني لم أستخدمه نهائياً.
شيء أخير أعتقد أنه من المهم ذكره هو أن الأجوبة ذكية بشكل رهيب مقارنة بـ Phind أو GitHub Copilot أو الأدوات الأخرى التي استخدمتها، مع أنهم جميعاً يستخدمون نفس النماذج، إلا أن الأجوبة داخل Cursor تكون مبهرة.
٣. التعديل السريع (Quick Edit)
ببساطة، يمكنك اختيار جزء من الكود، ثم الضغط على الاختصار (الذي أعتقد أنه Command + K
)، ستفتح لك نافذة منبثقة تحتوي على حقل إدخال يمكنك فيه وصف التعديل الذي ترغب في إجرائه باستخدام لغة طبيعية، وبعدها سيقوم Cursor AI بتنفيذ هذا التعديل باستخدام الذكاء الاصطناعي. الفكرة جميلة، ولكن عند الاستخدام، وجدت لها استخدامات بسيطة جداً. في معظم الأحيان، أجد نفسي أستخدم الوضع الوكيل مباشرة، الذي يحتوي على ميزات إضافية ومساحة أكبر لوصف ما أحاول إنجازه. لذا، كانت استخداماتي له محدودة، وفي معظم الأحيان استبدلته بالذكاء الاصطناعي الموجود في الوضع الوكيل.
٤. الاستيراد التلقائي (Auto-Import)
ببساطة، عندما تستخدم أحد العناصر مثل الدوال أو المتغيرات الموجودة في ملف آخر، يجب عليك استيرادها (import) داخل الملف الذي تستخدمها فيه حالياً. هذه الميزة موجودة في Visual Studio Code حتى قبل الذكاء الاصطناعي بفترة طويلة، ولكن داخل Cursor AI، طريقة تنفيذها سهلة للغاية. فبمجرد استخدام العنصر، سيقترح عليك الاستيراد بشكل بسيط جداً، فقط بضغطة زر Tab
. في Visual Studio Code، يجب عليك فتح القائمة واختيار الاستيراد وهكذا. هذه الميزة، على صغرها، مهمة جداً، لأنه داخل الملف الواحد قد تقوم بأكثر من 40 عملية استيراد. هناك مبرمجون ينتقلون من JavaScript إلى TypeScript فقط لأنها تدعم الاستيراد بشكل أفضل. فهذه الميزة مهمة جداً، ووجودها داخل Cursor AI بهذا الشكل البسيط هو ميزة رائعة جداً.
٥. المحادثة مع قاعدة الكود (Chat with Codebase)
الفكرة من هذه الميزة هي أن Cursor AI سيتعرف على قاعدة الكود أو المشروع المفتوح بشكل كامل، وباستخدام الذكاء الاصطناعي أيضاً داخل نافذة تشبه الدردشة، يمكنك طرح أسئلة حول قاعدة الكود هذه، وسيجيبك الذكاء الاصطناعي عليها. شخصياً، لم أجد استخداماً لهذه الميزة، وأعتقد أن فريق Cursor AI أنفسهم أدركوا بشكل أو بآخر أن هذه الميزة ليس لها استخدامات، لأنه في الإصدارات السابقة كانت هذه الميزة موجودة على الواجهة الرئيسية بشكل واضح جداً عبر تبويب يمكنه التبديل بين الوضع الوكيل ووضع الدردشة. الآن، أصبحت هذه الميزة مخفية بشكل أكبر؛ يجب عليك الآن البحث عنها داخل قائمة منسدلة لفتحها. أعتقد أنهم أدركوا أن هذه الميزة غير مستخدمة، فحاولوا إخفاءها من الواجهة. لو كان هذا صحيحاً، فأنا أحييهم على سرعة الاستجابة للمستخدمين والتخلي عن الميزات بشكل سريع ومباشر.
تقييمي ورأيي النهائي
الآن، لننتقل إلى القسم الثاني، وهو تقييمي لـ Cursor AI ورأيي النهائي فيه.
هل من المجدي الانتقال من Visual Studio Code إلى Cursor AI؟ الإجابة ببساطة، لو غضضنا النظر عن جزئية السعر التي سنتحدث عنها في نهاية المقال، فالإجابة بالتاكيد نعم. Cursor AI هو نسخة من Visual Studio Code؛ كل الميزات التي تحبها وتستخدمها داخل VS Code موجودة في Cursor AI، بالإضافة إلى الذكاء الاصطناعي الذي برأيي مبهر.
هل استخدامي لـ Cursor AI حسّن من إنتاجيتي؟ الإجابة: ممكن، ولكن بالتأكيد ليس بالقدر الذي يتم الترويج له في كل مكان. النقطة الأهم هي أنه لا توجد طريقة علمية يمكنني من خلالها قياس إنتاجيتي أثناء البرمجة ومقارنتها بين استخدام VS Code و Cursor AI. ولكن يمكن توقع أن الذكاء الاصطناعي يعفيني من الذهاب إلى المتصفح للبحث عن بعض الأسئلة وقراءة التوثيق والبحث في GitHub. ولكن في المقابل، هناك جزء كبير من الوقت يضيع في كتابة طلبات (prompts) بطريقة يفهمها الذكاء الاصطناعي ومراجعة الكود الذي يولده. فمن الممكن أن هذا الوقت يعادل ذاك الوقت. في الحقيقة، لا توجد طريقة لقياس هذه النقطة.
ولكن الشيء الملموس، حتى لو لم يحسن Cursor AI الإنتاجية، فهو بالتأكيد حسّن جودة الكود. في العادة، في المشاريع الشخصية الصغيرة والسريعة، لا أهتم بكتابة كود نظيف بشكل نهائي وأحاول إنجازها بسرعة. ولكن باستخدام Cursor AI، معظم هذه الأشياء المتعلقة بالتسمية (naming) أو تنسيق الكود أو طريقة فصل المكونات (components) عن بعضها، يقترحها عليك بشكل مباشر، فأنت أصلاً لا تضيع وقتاً عليها.
تسعير Cursor
لدى Cursor ثلاث خطط:
- المجانية (Free): يمكنك استخدامها لأي شيء، ولكنها ستنفد بسرعة كبيرة. قد تكون كافية فقط للاختبار، فهي محدودة للغاية.
- الاحترافية (Pro): مقابل 20 دولاراً شهرياً. برأيي هي كافية، ولكن 20 دولاراً هو سعر كبير جداً بالنسبة لأداة مشابهة، على الأقل بالنسبة لي.
- الأعمال (Business): لم أجرب هذه الخطة، فلا أعرف ما إذا كانت جيدة مقابل السعر أم لا، ولكن كما يمكن تخمينه، فهي توفر حدوداً أكبر لاستخدام الذكاء الاصطناعي.
هناك جزئية أخيرة وهي أن سعر هذه الأدوات عادة ما تدفعه الشركات، فمن الممكن أن فريق التسعير في Cursor قد أخذ هذه الفكرة في الاعتبار عند وضع تسعير المنتج.
ملاحظة: مؤخراً، أعلن Cursor AI عن نسخة مجانية للطلاب يمكن التقديم عليها باستخدام البريد الإلكتروني الجامعي. أعتقد أن النسخة مشابهة للخطة الاحترافية، ولكني لست متأكداً. أنا شخصياً قدمت عليها بما أنني ما زلت طالباً وحصلت عليها، ولكنني لم أجربها بعد.
في النهاية، شاركني رأيك في التعليقات: هل جربت Cursor AI؟ ما رأيك فيه؟ وما هي الأداة الأنسب للمطورين برأيك؟