AppCode 2019.3: يعمل بشكل أسرع ، يفهم Swift بشكل أفضل ، يعرف حول Mac Catalyst ، يعرض رسائل التجميع بشكل ملائم

في AppCode 2019.3 ، ركزنا على دعم السرعة واللغة. في هذا المنشور نقول ما حدث (المفسد: لقد تسارعت كثيرًا).


دفقة



سرعة


قد يكون من الصعب تحديد مقدار تأثير الإصلاح المحدد على السرعة - وهذا مستقل عن عدد مشاريع الاختبار وتعقيدها. منذ عام 2019.3 ، أصبح كل شيء أسهل ، لأنه أثناء إعداد الإصدار ، تلقينا الكثير من الملاحظات التي تفيد بأن الأداء قد تحسن بالفعل. إليك ما حدث لتسريع:


  • تسليط الضوء على ، الملاحة والإكمال التلقائي في المشاريع على سويفت النقي والمشاريع برمز مختلط. دعنا نقول فقط - لقد بدأ العمل بشكل أسرع مقارنة بعام 2019.2.
  • هناك مثل هذه المرحلة التخزين المؤقت ، "معالجة وحدات سويفت". كانت واجهات وحدات Swift اللازمة ليعمل IDE ، حتى Xcode 11 ، في الثنائية في سلسلة الأدوات ، وكان لا بد من الحصول على تمثيلها النصي من خلال SourceKit. يعمل SourceKit ببطء ، وإذا كانت أطر النظام قد وضعنا بالفعل ذاكرة التخزين المؤقت الجاهزة في برنامج التثبيت (والتي ، على الرغم من ذلك ، يجب تحديثها لكل إصدار من برنامج Xcode) ، فلن يعمل هذا مع أطر عمل المشروع نفسه. نتيجة لذلك ، وجدوا بعض القطع غير الأكثر تصحيحية وتم تصحيحها ، وبدأ العمل بشكل أسرع.

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


دعم اللغة


للمهام اللغوية نفس أولوية عمل الأداء ، لذلك يراقب جزء من الفريق التغييرات في التطور السريع ، وبمجرد قبولها ، يبدأ بدمجها في AppCode. هذا الإصدار يدعم:


  • SE-0244 : أنواع النتائج غير الشفافة ؛
  • معالجة وسيطات غلاف الملكية ( OC-18766 ) ؛
  • الإكمال التلقائي لـ SE-0252 (بحث عضو المسار الرئيسي) ؛
  • تسليط الضوء على سمات المعلمة .

إجراءات لتعديل الرمز


فهي كثيفة. ينمو فريق AppCode ، ولتقديم مطور جديد للدورة التدريبية ، فإننا عادة ما نقدم ميزات جديدة صغيرة ولكنها مثيرة للاهتمام. هذه المرة ، كان هناك أكثر من عشرة إجراءات لـ Swift ، والتي يمكنك من خلالها:


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

كود الشفرة


وأضاف اثنين من إعدادات توليد رمز جديد في Editor | Code Style | Swift | Code Generation | General Editor | Code Style | Swift | Code Generation | General Editor | Code Style | Swift | Code Generation | General :


  • Prefer Void over () و
  • Prefer explicit return .

تنسيق


بناءً على طلب المستخدمين ، أضافوا خيارات التنسيق من أجل:


  • ترك كتل الممتلكات الصغيرة مع willSet / didSet (Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Methods and functions in one line) واحدًا didSet (Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Methods and functions in one line)
  • وينطبق نفس الشيء على إعلانات النوع الفارغ ( Preferences | Editor | Code Style | Swift | Wrapping and Braces | Keep when reformatting | Empty type declarations in one line )

سويفت أدوات مخصصة


قاموا بتدريس AppCode للعمل مع التعليمات البرمجية بشكل صحيح عند استخدام أدوات Swift غير القياسية (على سبيل المثال ، Swift لـ Tensorflow ).


بناء الرسائل


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


بناء الرسائل


جنبا إلى جنب مع هذه المعلومات ، اتضح لإيجاد طريقة لعرض تقدم البناء العادي:


بناء تقدم الرسائل


في النهاية ، قمنا أيضًا بتبسيط تصفية الرسائل وفعلنا الشيء نفسه كما في Xcode:


تصفية رسائل Buld


دعم محفز ماك


كل شيء بسيط هنا: لقد تعلمنا كيفية العمل مع أهداف Mac Catalyst بحيث يمكن إطلاقها وتصحيحها وعرضها في Run Configurations.


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


اكتب جميع الأسئلة والاقتراحات هنا في التعليقات - سنكون سعداء بالإجابة!


فريق AppCode

Source: https://habr.com/ru/post/ar479450/


All Articles