البرمجة وتطوير البرمجيات

PyCharm 2026.2 يعالج 263 مشكلة ويحسّن فهم الشيفرة والإكمال التلقائي

تضمّن خط إصدار PyCharm 2026.2 عدد 263 إصلاحاً وتحسيناً، مع تركيز على دقة استدلال الأنواع، ودعم SQLAlchemy 2.0، وتقليل الإنذارات الكاذبة وتحسين الإكمال وإعادة الهيكلة.

19 أغسطس 2026
3 دقائق قراءة
1 قراءة
فريق تحرير certi.news
PyCharm 2026.2 يعالج 263 مشكلة ويحسّن فهم الشيفرة والإكمال التلقائي

أعلنت JetBrains أن خط إصدار PyCharm 2026.2 تضمن 263 إصلاحاً وتحسيناً، يتركز جزء كبير منها في طريقة فهم بيئة التطوير لشيفرة Python. وتشمل التغييرات استدلالاً أدق للأنواع، وإنذارات كاذبة أقل، وإكمالاً تلقائياً أكثر ملاءمة، وتحسينات في الاستيراد وإعادة الهيكلة.

وتقول الشركة إن هذه التعديلات تستهدف تفاصيل تظهر في العمل اليومي، خصوصاً عند استخدام الأنواع الحديثة وأطر العمل الشائعة، بدلاً من تقديم وظيفة واحدة رئيسية منفصلة.

دعم أكثر دقة لـ SQLAlchemy 2.0

عالج التحديث مجموعة من المشكلات المرتبطة بـ SQLAlchemy 2.0، وهي مشكلات تسببت سابقاً في ظهور إنذارات كاذبة. أصبح PyCharm يتعامل بصورة صحيحة مع الإشارات النصية إلى الأصناف داخل Mapped[...]، كما يستنتج النوع الذي تعيده Session.get() بوصفه كائناً من النموذج أو قيمة None، بدلاً من تفسيره على أنه نوع الصنف نفسه.

كما بات المحرر يتعرف إلى أدوات الضبط الحديثة للخاصية hybrid_property باستخدام @name.inplace.setter، ويتعامل مع سمات أصناف النماذج الموروثة من خلال mixins، ما يقلل تقارير الوسائط غير المتوقعة عند إنشاء الكائنات.

تحسين استدلال الأنواع وتحليل مسار التنفيذ

أصلحت JetBrains حالات كان فيها التحليل يعلن خطأً أن جزءاً من الشيفرة غير قابل للوصول، أو يفقد تضييق النوع بعد المرور داخل حلقات. فعند فحص اتحاد رقمي مثل int | float باستخدام isinstance، لم يعد فرع else يُعامل على أنه غير قابل للوصول، كما يستمر التضييق الصحيح للنوع داخل حلقات while.

وشملت الإصلاحات أيضاً الحفاظ على معلومات الأنواع عند استخدام فك الحزم والتعبيرات النجمية، وتصحيح النوع الناتج عن الإسناد المعزز مثل /=، وتحسين التعامل مع Self ونتائج البُناة التي تستخدم __new__ أو __init__ أو metaclass __call__.

وفي التعدادات، أصبحت قيمتا .value و.name تُستنتجان كنوعين دقيقين من Literal بدلاً من توسيعهما إلى str أو int. كذلك يمكن استنتاج أنواع معاملات الدوال المزينة من القيود التي يفرضها الديكور، بدلاً من إسناد النوع العام Any.

استيراد وإكمال تلقائي أكثر فائدة

أصبح الاستيراد التلقائي يعيد استخدام الوحدة المستوردة مسبقاً بدلاً من اقتراح استيراد ثانٍ مكرر. فإذا كانت الوحدة متاحة بالفعل، يفضل PyCharm الإشارة إليها عبر الاسم المؤهل، كما أضيف دعم الاستيراد التلقائي للأصناف المتداخلة.

وحصلت أهداف unittest.mock.patch() النصية على إكمال تلقائي للمسارات التي تتضمن الوحدات والأصناف والسمات. كذلك أصبح إكمال إعادة تعريف الدوال المدمجة أو دوال dunder يملأ التوقيع المعلَّم بالكامل ويستورد الأنواع اللازمة تلقائياً.

ما الذي يتغير عملياً؟

تقلل هذه التحسينات الوقت الذي يقضيه المطور في مراجعة تحذيرات غير صحيحة أو تصحيح اقتراحات الاستيراد والإكمال. كما تساعد تلميحات الأنواع داخل السطر، التي أصبحت قابلة للنقر للوصول إلى تعريف النوع، في فهم نتيجة الأنواع العامة عند موضع الاستخدام مباشرة.

وأضاف التحديث التحقق من صيغ التنسيق داخل f-strings، بحيث يرصد مواصفات غير مدعومة أو أنواعاً لا تنفذ __format__. وفي إعادة الهيكلة، أصبح تغيير اسم الوحدة يحدّث أيضاً المراجع وعبارات الاستيراد المرتبطة بها. كما تغير اسم إجراء Refactor | Field إلى Attribute ليتوافق مع مصطلحات Python المتعلقة بسمات الكائنات.

مصدر الخبر
ف
كاتب المقال

فريق تحرير certi.news

فريق التحرير

فريق تحرير certi.news يتابع المصادر التقنية ويعيد بناء الأخبار بالعربية مع مراجعة الحقائق والسياق قبل النشر.

من نفس التصنيف

مقالات قد تهمك

عرض جميع المقالات