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

قمنا أيضًا بتحسين جوانب لغة SModel فيما يتعلق بالعمل مع خصائص الأنواع المذكورة. الآن ، عند قراءة وكتابة الخصائص ، يتم استخدام المثيلات المكتوبة للأعضاء الذين تم تعدادهم بدلاً من القيم الأولية الأولية ، مما يساعد المطورين على كتابة التعليمات البرمجية مع وجود أخطاء أقل.

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

تمت إضافة عبارة Enum Switch إلى لغة SModel لاختيار متعدد لأعضاء التعداد. يمكن أيضًا استخدامه كتعبير لحساب القيم المختلفة بناءً على عضو التعداد الذي يفي بالمتطلبات.

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

على سبيل المثال ، تُعرّف ShowMessage النص الذي يظهر في تلميح الأدوات الذي يظهر عند المرور فوق عقدة مشكلة.

يرجى ملاحظة: يمكنك تعيين ملاحظاتك عن طريق توسيع مجموعة لغات التعليقات المقدمة. على سبيل المثال ، يمكنك وصف الملاحظات التي ستسلط الضوء على الحواف أو القمم في محرر المخطط.
لتلقي رسائل خطأ مخصصة لقيود canBe * ، استخدم لغة التقييد القائمة على القواعد.

القاعدة القائمة على اللغة القيد
لقد أنشأنا لغة تقييد قائمة على القواعد ستحل في المستقبل محل قيود canBe * المتوفرة حاليًا من لغة تقييد MPS القياسية. حاليًا ، تعد لغة التقييد القائمة على القواعد وظيفة تجريبية ، لذلك من المحتمل أن تتغير كثيرًا في الإصدارات المستقبلية.

في الوقت الحالي ، لا يزال الإصدار السابق من القيود يمثل أولوية ، لذلك ، من أجل إدخال قيود تستند إلى القواعد ، يجب إزالة القيود القديمة canBe * بالكامل. تعتبر اللغة الجديدة لتعريف القيود أكثر تعريفًا ؛ فهي تتطلب تحديد مجموعة من القيود المعزولة (القواعد) بدلاً من مجموعة شرطية مفردة.
في الإصدار 2019.2 ، يسمح لك هذا بتلقي رسالة خطأ فردية لكل قاعدة على حدة.

تاريخ الجذر
يوجد الآن إجراء جديد في قائمة Git يتيح لك عرض محفوظات التغييرات في VCS لجذر معين. الإجراء متاح من قائمة سياق المحرر:

لاحظ أن جمع بيانات محفوظات الجذر ، مثل أي إجراء VCS ذي صلة بالسجل ، يستغرق وقتًا طويلاً. يوجد شريط تقدم في شريط الحالة لمساعدتك في تقييم الوقت الذي تقضيه.
يشبه مربع الحوار مربع حوار محفوظات التحديد في IntelliJ IDEA:

يعرض مربع الحوار قائمة بمراجعات الملف النموذجي التي تم تغيير الجذر المطابق لها.
بحث البيانات
البحث عن النص الكامل حسب قيمة العقار متاح الآن. يتيح لك الإجراء Edit–> Find–> Find Text في Project (Ctrl + Alt + Shift + F) العثور على عقد به خصائص تحتوي قيمها على النص المحدد.

تحقق من وجود أخطاء محددة
إحدى حالات الاستخدام الشائعة لكتابة لغة اختبار هي فحص العقد بحثًا عن رسائل الخطأ والتحذيرات. في بعض الحالات ، لم يميز النظام الفرعي لاختبار MPS بين أنواع مختلفة من الأخطاء التي تؤثر على العقدة نفسها. قد يؤدي ذلك إلى حدوث ارتباك: حتى إذا أشار المستخدم صراحةً إلى نوع الخطأ المتوقع في التعليق التوضيحي للاختبار ، فإن الأخطاء والتحذيرات الأخرى التي تؤثر على العقدة المقابلة لم تنشئ أخطاء اختبار.
ضع في اعتبارك أنه عند الترقية إلى إصدار جديد ، قد تفشل بعض الاختبارات ، لأنها الآن ستقوم فقط بمنع التحذيرات والأخطاء التي يشير إليها المستخدم في التعليق التوضيحي للمسح.

قوالب في تعريفات قواعد التحقق من الصحة
إذا قمت بتحديد قاعدة التحقق من الصحة لأحد المفاهيم ، فسيتم استدعاؤها لكل عقدة تمثل مثيلًا لهذا المفهوم.
الآن ، بدلاً من تجاوز كل قاعدة موروثة من المفهوم الأصل ، يمكنك تحديد قائمة القواعد التي يجب إعادة تعريفها بشكل صريح. نوصي بشدة بمراجعة جميع قواعد التحقق من الصحة التي تستخدم وظيفة التخطيات والإشارة إلى القواعد التي يجب إعادة تعريفها.
في السابق ، يمكنك تحديد قاعدة التحقق من الصحة لمفهوم باستخدام لغة القالب. ساعدت هذه الميزة في تقييد شروط قابلية تطبيق القاعدة (مقارنةً بالقواعد المحددة حصريًا للمفهوم) ، وكذلك للتسمية المريحة للممتلكات والأطفال والأحفاد ، إلخ. لكلا الغرضين ، يكون استخدام لغة القالب داخل نص القاعدة مناسبًا ، ولا سيما استخدام عامل التشغيل المطابق في الجزء العلوي من كتلة المهام:

في المستقبل ، لا نخطط لدعم قواعد التحقق من الصحة باستخدام القوالب في الرؤوس ، لذلك نوصي بالبحث عن مثل هذه الحالات ونقل القوالب إلى نص القاعدة باستخدام إجراء خاص.
جافا 11 وقت التشغيل
سيتم تشغيل MPS الآن في JDK 11. وسيؤثر ذلك على آلية تحميل نماذج كعب الروتين. لن تحتاج إلى ترحيل معظم مشروعك ، إلا في الحالات النادرة التي تم فيها إعادة تجميع بعض الفئات والحقول في JDK 11.
عند استخدام المكوّن الإضافي لـ IntelliJ IDEA ، يجب الآن ربط الوحدات النمطية مع MPS Facet بالإصدار JDK 11. وإلا ، فسيفشل إنشاء الكود.
اكتب واجهة واجهة API
الآن لا يمكن إجراء التدقيق على النوع إلا مع واجهة برمجة التطبيقات للواجهة الجديدة.
واجهة برمجة تطبيقات جديدة: راجع jetbrains.mps.typechecking.TypecheckingFacade والفئات ذات الصلة.
واجهة برمجة التطبيقات المهملة
: jetbrains.mps.typesystem. * تم الآن إلغاء تسلسل هرمي الحزمة. لا ينصح باستخدام فئات من هذا التسلسل الهرمي ، باستثناء الكود الذي يتم إنشاؤه تلقائيًا من محتويات جانب نظام الأنواع.
التغييرات المخطط لها في الإصدارات المستقبلية
فيما يلي مخطط أولي للتغييرات التي تؤثر على دعم نظام الكتابة:
- سيتم تجاهل الجانب المسؤول عن تطبيق نظام الكتابة واللغة المستخدمة فيه. بمرور الوقت ، سيتم نقل اللغة ودعمها في وقت التشغيل إلى مكون إضافي منفصل.
- ستتم إضافة جانب جديد يحل محل الجزء الخاص بالنظام غير النوعي بشكل فعال من الجانب الخاص بنظام الأنواع. سيتم توفير الترحيل لاستخراج قواعد التحقق من الصحة من جانب نظام الأنواع القديم.
- سيتم تنفيذ إطار جديد للتحقق من النوع بدعم من وقت التشغيل ، ونتيجة لذلك سيتم إعادة كتابة الآليات القديمة من الصفر.
التجمع في الخلفية
قمنا بزيادة استجابة الواجهة أثناء بناء الخلفية. إذا تم إرسال عملية الإنشاء إلى الخلفية مرة واحدة ، فسيتم تنفيذها دائمًا في الخلفية أثناء عمليات الإعدام اللاحقة. يتم حفظ الإجراء في تفضيلات القائمة> إعدادات المشروع> تنفيذ في الخلفية.
اللغة الأساسية
أحد الأهداف الرئيسية لهذا الإصدار هو تحسين BaseLanguage. قمنا بإصلاح عدد من المشكلات التي تؤثر على لغات BaseLanguage ، من الأخطاء إلى المشكلات التي تؤثر على قابلية الاستخدام.
التدقيق الإملائي في التعليقات BL
يتوفر التدقيق الإملائي الآن للتعليقات ذات الأسطر الواحدة ونص Javadoc والحرفية.
مشروع نموذج جديد
لقد أخذنا في الاعتبار رغبات المجتمع وأضفنا نموذجًا جديدًا للمشروع مع إنشاء XML.
تكوين بوابة المحلية
الآن إعدادات برنامج تشغيل الدمج ليست عمومية ، ولكنها محلية (منفصلة لكل مستودع Git) ، لذلك يمكن أن يكون لكل نسخة مثبتة من MPS برنامج دمج خاص بها.
يمكنك تنزيل هذا الإصدار
هنا ، نأمل أن تستمتع به. يرجى الإبلاغ عن أي مشاكل لنا في
تعقب لدينا .
فريق JetBrains MPS الخاص بك
محرك لتطوير