PhpStorm 2020.3: PHP 8 ، السمات ، PHPStan و Psalm ، Xdebug 3 ، Tailwind CSS والتطوير المشترك





يسعدنا أن نقدم الإصدار الرئيسي الأخير من PhpStorm هذا العام! يوجد أسفل الخفض تحليل مفصل لجميع التغييرات والميزات الجديدة.







PHP 8



إصدار PHP 8.0 . شكرا جزيلا لجميع المساهمين ومديري الإصدار!



يدعم PhpStorm 2020.3 جميع التغييرات اللغوية الأخيرة. دعنا نلقي نظرة على ما هو متاح وكيفية استخدامه في IDE.



إصدار اللغة في شريط الحالة



الآن يعرض شريط الحالة دائمًا إصدار PHP الحالي للمشروع. يمكنك أيضًا تبديل الإصدار من هناك.







إذا كان زر الاختيار غير نشط ، فهذا يعني أنه تم تعيين حد إصدار PHP في composer.json.



الحجج المسماة



في PHP 8 ، يمكن تمرير وسيطات الوظائف والأساليب عن طريق تحديد اسم المعامل. يتم الآن توثيق المكالمات تلقائيًا والمعلمات الاختيارية اختيارية بالمعنى الكامل للكلمة.



باستخدام الإصلاح السريع لإضافة معرفات الاسم ، يمكنك إضافة أسماء إلى الوسائط:







يتم تمييز الأخطاء المطبعية أو أسماء الوسائط الخاطئة:







إذا كانت القيمة التي تم تمريرها تتطابق مع قيمة المعلمة الافتراضية ، فيمكنك إزالتها بأمان:







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







السمات



السمات هي طريقة منظمة جديدة لتحديد البيانات الوصفية في PHP بدلاً من تعليقات PHPDoc.



لإنشاء سمة ، يجب التصريح عن فئة وإضافة علامة #[Attribute]



. هنا سيساعدك PhpStorm في التمييز وإكمال الكود والبحث عن الاستخدامات وإعادة البناء والمزيد.







PHP نفسها تتحقق فقط من صحة السمات عند استدعائها ReflectionAttribute::newInstance()



. وإذا لم تتمكن من الوصول إلى السمات من خلال Reflection ، فسيتم تجاهلها تمامًا ، حتى لا يتم تحميل فئات غير ضرورية وليس إنشاء كائنات.



لكن PhpStorm ستتحقق من صحة كل شيء في المحرر دون تشغيل Reflection API. يتم التحقق من القواعد التالية:



  • يمكن أن تكون الفئة المحددة سمة بالفعل.





  • تنطبق هذه السمة فقط في المواقع المسموح بها: الفئة أو الخاصية أو الطريقة أو المعلمة أو الوظيفة أو ثابت الفئة.





  • تتكرر السمة فقط إذا تم التصريح عنها بعلامة Attribute::IS_REPEATABLE



    .







فيما يلي السمات أثناء العمل مع Symfony:










سمات العاصفة في PHP 8



تتوفر العديد من السمات في PhpStorm 2020.3 خارج المربع في مساحة الاسم \JetBrains\PhpStorm\



.



يمكنك استخدامها على الفور في قاعدة بياناتك بدون توصيل أي شيء.



ولكن إذا كنت تستخدم أيضًا أدوات تحليل ثابتة أخرى ولا تريد تلقي أخطاء مثل Class غير موجود ، فقد يكون من المفيد إضافة حزمة سمات JetBrains / phpstorm-attributes كعنصر تبعية إلى composer.json



.





# [إهمال]



استخدم هذه السمة كعلامة PHPDocdeprecated لتمييز الطرق أو الفئات أو ثوابت الفئة التي ستتم إزالتها في المستقبل.



الميزة هنا هي أنه يمكنك تحديد بديل للرمز القديم وسيكون من الأسهل على المستخدم الترقية.



دعنا نلقي نظرة على مثال من العالم الحقيقي. في إصدار Symfony 5.2 الذي تم إصداره مؤخرًا ، تم \Symfony\Component\DependencyInjection\Alias::setPrivate()



إهمال الطريقة . إذا قمت بإضافة سمة هناك #[Deprecated]



، يمكنك تبسيط الترحيل.



#[Deprecated(
   reason: 'since Symfony 5.2, use setPublic() instead',
   replacement: '%class%->setPublic(!%parameter0%)'
)]

      
      













# [ArrayShape]



هذه السمة مفيدة للعمل مع هياكل البيانات البسيطة أو المصفوفات الشبيهة بالكائنات عندما لا يمكن التصريح عن فئة لسبب ما.



بناء الجملة مثل هذا:

#[ArrayShape([
// ‘key’ => ’type’,
   ‘key1’ => ‘int’,
   ‘key2’ => ‘string’,
   ‘key3’ => ‘Foo’,
   ‘key3’ => App\PHP 8\Foo::class,
])]
function functionName(...): array

      
      







يمكن تحديد النوع كسلسلة أو كمرجع فئة في شكل سلسلة FQN أو ثابت ::class



.







يمكن وضع المصفوفة التي تحدد "الشكل" في ثابت وإعادة استخدامها:



const  MY_ARRAY_SHAPE = [];
#[ArrayShape(MY_ARRAY_SHAPE)]

      
      











في PhpStorm ، قمنا بالفعل بتوضيح #[ArrayShape]



بعض وظائف PHP القياسية بسمة ، على سبيل المثال parse_url()



.



لحسن الحظ ، فإن بناء جملة السمة أحادية السطر متوافق مع الإصدارات السابقة. أي ، إذا كتبت #[ArrayShape]



في سطر واحد في مشروع PHP 7 ، فسيفسر مترجم PHP هذا السطر على أنه تعليق.



بخلاف مترجم PHP ، سيقوم PhpStorm بتحليل السمات على أي حال! لذلك حتى إذا كان مشروعك يعمل بنظام PHP 7.4 أو أقل ، فستظل تستفيد من الإضافة #[ArrayShape]



.





# [ثابت]



لا يمكن تعديل الكائنات غير القابلة للتغيير بعد التهيئة أو الإنشاء. استخدامهم يجعل حالة البرنامج أكثر قابلية للتنبؤ وأسهل في التصحيح. يمكن استخدام



السمة #[Immutable]



لتمييز فئة كاملة أو خصائص معينة للإشارة إلى أنه لا يمكن تغييرها.



سيتحقق PhpStorm من استخدام هذه الكائنات والخصائص ويسلط الضوء على محاولات التعديل.







يُسمح بتغيير الخاصية افتراضيًا في المُنشئ ، ولكن يمكن أيضًا السماح به في الطرق الخاصة / المحمية. ويتم ذلك باستخدام الثوابت CONSTRUCTOR_WRITE_SCOPE



، PRIVATE_WRITE_SCOPE



، PROTECTED_WRITE_SCOPE



تمريرها إلى المنشئ #[Immutable]



.









# [نقي]



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







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







تم بالفعل تمييز جميع وظائف PHP القياسية بهذه السمة في PhpStorm.





# [القيم المتوقعة]



باستخدام هذه السمة ، يمكنك تحديد القيم التي تأخذها الوظيفة كمعلمات والقيم التي يمكن إرجاعها.



هذا عمليا نفس الشيء الذي يحدث expectedArguments()



في .phpstorm.meta.php



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



على سبيل المثال ، ضع في اعتبارك وظيفة العد:

count ( array|Countable $array_or_countable [, int $mode = COUNT_NORMAL ] ) : int
      
      





الحجة الثانية لها هي عدد صحيح ، لكنها في الحقيقة ليست عددًا صحيحًا عشوائيًا ، ولكنها إحدى الثوابت COUNT_NORMAL



أو COUNT_RECURSIVE



.



وإليك كيفية #[ExpectedValues]



تحسين السمة للموقف:







أي ، ظهر الإكمال التلقائي ، وإذا تم تمرير شيء آخر ، فسيتم تمييز الخطأ.



كيفية تحديد القيم الممكنة أو أقنعة البت
يتم تمرير القيم المتوقعة إلى مُنشئ السمة ويمكن أن تكون واحدة مما يلي:

  • أعداد: #[ExpectedValues(values: [1,2,3])]





  • سلسلة حرفية: #[ExpectedValues(values: [‘red’, ‘black’, ‘green’])]





  • الثوابت: #[ExpectedValues(values: [COUNT_NORMAL, COUNT_RECURSIVE])]





  • ثوابت الفئة: #[ExpectedValues(values: [Code::OK, Code::ERROR])]









وهناك عدة طرق لتحديد الحجج المتوقعة:

  • #[ExpectedValues(values: [1,2,3])]



    , .

  • #[ExpectedValues(flags: [1, 2, 3])]



    , , 1 | 3



    .

  • #[ExpectedValues(valuesFromClass: MyClass::class)]



    , `MyClass



    `.

  • #[ExpectedValues(flagsFromClass: ExpectedValues::class)]



    , `MyClass`.







مثال آخر # [ExpectedValues]



لنأخذ المساعد response()



من Laravel. يأخذ رمز حالة HTTP كمعامل ثاني.



هناك مشكلتان

  • لا يوجد إكمال تلقائي مع الرموز الممكنة

  • لا يوجد التحقق من صحة القيمة في المحرر









دعنا نصلح هذا عن طريق إضافة السمة #[ExpectedValues(valuesFromClass: Response::class)]













# [لا رجوع]



يمكن لبعض الوظائف إيقاف تنفيذ البرنامج النصي. يعمل تعليم الوظائف مثل نقاط الخروج بسمة على #[NoReturn]



تحسين تحليل تدفق التحكم.









# [اللغة]



يمكن إضافة هذه السمة إلى معلمات السلسلة التي تتوقع نصًا في بعض اللغات ، مثل RegExp و SQL و DQL وما إلى ذلك.



للحجج ، سيظهر التمييز وخيارات إضافية.












دعنا نعود إلى الميزات الجديدة في PHP 8.



التصريح عن الخصائص في المنشئ



يمكن تحويل الخصائص العادية إلى ترقية أو العكس باستخدام الإصلاح السريع لخاصية التحويل إلى ترقية .







يضمن PhpStorm أن الخصائص تستخدم فقط بطريقة مسموح بها في PHP 8:

  • يمكنك فقط التصريح عن الخصائص في المنشئ.

  • لا يمكن التصريح عنها في منشئ مجرد.

  • لا يمكنك التصريح عن خاصية متغيرة بهذه الطريقة.

  • لا يمكن أن تكون الخاصية من النوع "Callable".

  • لا يسمح بتجاوزات الملكية.











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







تعبير المطابقة



يشبه التعبير الجديد switch



مقارنة صارمة ولكنه يستخدمها ويمكن تخصيصه لمتغير أو إرجاعه.



يكتشف PhpStorm ما إذا كان من switch



الممكن إعادة كتابة كتلة ما match



، وسوف يقوم بذلك تلقائيًا مع إصلاح سريع عن طريق الضغط على Alt + Enter:







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









سيتم العثور على القيم المكررة في الشروط:







يمكن استبدال تعبير المطابقة بفرع واحد وفرع افتراضي بأمان بتعبير ثلاثي.







وإذا تم ترك الفرع الافتراضي فقط ، فلن تكون هناك حاجة إلى المطابقة على الإطلاق.







أخيرًا ، إذا كانت الهيئات متشابهة في فروع مختلفة ، فيمكن دمجها.







مشغل Nullsafe



بدلاً من مجموعة من الشروط مع التحقق من القيمة الفارغة ، يمكنك الآن استخدام سلسلة من المكالمات مع مشغل جديد ?->



.



سيتحقق PhpStorm من الاستخدام الصحيح للمشغل:







فاصلة معلقة



يجوز الآن إضافة فاصلة بعد الوسيطة الأخيرة عند استدعاء الوظائف وفي قائمة الإغلاق use



.







المصيد غير الملتقط



في PHP 8 ، يمكنك التقاط استثناء في كتلة catch بدون متغير.







رمي التعبير



يمكن الآن طرح الاستثناءات في وظائف الأسهم وعوامل التشغيل القصيرة ??



، وكذلك في الثلاثية ? :



.







يمكنك استخدام الاختزال thr



والضغط على علامة التبويب - هذا نموذج مباشر .







ثابت :: فئة على الأشياء



في السابق ، للحصول على FQN لكائن ما ، كان عليك استخدام دالة get_class()



. في PHP 8 ، get_class($object)



يمكن استبدال المكالمة بأمان بـ $object::class



.



في الواقع ، بالضغط على Alt + Enter ، يمكن إجراء هذا الاستبدال. ::class



سيبرز الاستخدام غير الصحيح لثابت PhpStorm.







وظائف جديدة للسلاسل: str_contains () ، str_starts_with () ، str_ends_with ()



كيف أتحقق مما إذا كانت السلسلة تحتوي على كلمة معينة؟ هو سؤال PHP الأكثر مشاهدة على Stack Overflow. لدى PHP 8 إجابة واضحة على هذا السؤال: استخدم دالة str_contains()



.



PhpStorm 2020.3 جميع المكالمات strpos()



التي يمكن استبدالها بـ str_contains()



:







هناك أيضًا مكالمات جديدة str_starts_with()



، str_ends_with()



ولتحديد ما إذا كانت السلسلة الفرعية محددة في البداية أو النهاية. يبرز PhpStorm حيث substr()



يمكن استبدال المكالمات ببدائل جديدة:







تحذيرات المحرك المعاد تصنيفها



في PHP 8 ، تمت مراجعة نوع التحذير الذي تم إلقاؤه للعديد من الأخطاء. وبالتحديد ، بدلاً من الإشعار في كثير من الحالات ، سيكون هناك استثناء أو خطأ في النوع.



في PhpStorm ، ونتيجة لذلك ، فإن بعض عمليات الفحص لها مستويان مختلفان من الخطورة: لـ PHP 8 والإصدارات الأقدم.







هذه كلها من أبرزها من PHP 8. هناك مجموعة كاملة من التغييرات الصغيرة التي ستكون مرئية عند الترقية إلى PHP 8.





Psalm و PHPStan الدعم



يمكن استخدام كلا المحلل الثابت في PhpStorm 2020.3 لتسليط الضوء على المشكلات مباشرة في المحرر.







إذا تمت إضافة PHPStan أو Psalm كاعتماديات في composer.json



، فسيكون هناك رمز مفتاح ربط بجانبهما ، والذي يفتح إعدادات الأداة.







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



️ من الأفضل تشغيل جهاز واحد فقط بدلاً من تشغيل كلاهما في نفس الوقت.







هنا يمكنك أيضًا تحديد المسار إلى ملف التكوين وتكوين وسيطات سطر الأوامر.



️ يمكن لـ PHPStan العمل بدون ملف تكوين ، لكن Psalm يتطلب ذلك. إذا كان هناك psalm.xml



أو في الدليل الجذر phpstan.neon



، فسيقوم PhpStorm بسحبها تلقائيًا.



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







شروح



يتم @psalm-*



الآن تمييز جميع شروح المزمور بشكل صحيح في المحرر. ولكن بشكل عام ، يمكنك الآن إزالة البادئة بأمان @psalm-



من العلامات ، أي @psalm-return



-> @return



و @psalm-param



-> @param



.







اكتب الدعم



أضفنا دعمًا لبعض أنواع المزمور ، وبناءً على المعلومات الواردة من العلامات ، قمنا بتحسين استدلال النوع. أدى هذا إلى جعل عمليات التحقق وإنشاء الكود والإكمال التلقائي أكثر دقة.



الأنواع الزائفة من أنواع

المزمور مدعومة ، مثل العددية والرقمية وما إلى ذلك.







الثوابت في الأنواع

تدعم التسلسل الثابت والمواصفات من خلال *



العلاماتبارام و فار...







تلميحات النوع للصفائف

أوصاف الصفيفarray<array-key, Type>



مدعومة أيضًا ، بما في ذلك المصفوفات المتداخلة.







يعد

الدعم Generics وtempate Generic ميزة للمستخدمين المتقدمين الذين ليس لديهم مواصفات صحيحة كاملة والعديد من حالات الحافة. ومع ذلك ، قررنا تنفيذ الدعم الأساسي @template



بناءً على صيغة المزمور لنرى كيف سيتم استخدام هذا.



حتى الآن ، يتم دعم الحالة الأكثر بدائية فقط ، عندما تُرجع الدالة إحدى معلماتها.







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


Xdebug 3



تم تحديث مصحح أخطاء PHP الشهير لجعله أسرع وأسهل في التهيئة. اقرأ المزيد عن Xdebug 3 في دليل الترقية .



لتكوين Xdebug 3 ، يكفي الآن خيار xdebug.mode واحد (مثل هذا XDEBUG_MODE=debug



).



كما تم تغيير منفذ Xdebug الافتراضي: بدلاً من 9000



الآن 9003



. لتبسيط الترحيل ، يستمع PhpStorm إلى كلا المنفذين افتراضيًا. توجد إعدادات المنفذ وخيارات أخرى لـ Xdebug في التفضيلات / الإعدادات | اللغات والأطر | PHP | تصحيح .









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



تم توسيع إمكانيات التصحيح في PhpStorm بميزتين جديدتين.



تلميحات تفاعلية

الآن في وضع التصحيح ، يمكنك توسيع إخراج المتغيرات لرؤية جميع الحقول. يمكنك أيضًا تغيير القيم هناك.







الساعات المضمنة

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



في PhpStorm 2020.3 ، يمكنك إضافة الساعات مباشرة في السياق ، وسيتم عرضها بجوار الكود.



انقر فوق Add as Inline Watch في النافذة المنبثقة في التلميح.





أو انقر فوق Add Inline Watch في قائمة سياق المحرر.





أو حدد المتغير وحدد Add Inline Watch من قائمة السياق .





تمييز المتغيرات وإعادة تسميتها في Twig



حدد متغيرًا أو ضع المؤشر عليه وسيتم تمييز جميع استخداماته في النموذج. ولإعادة تسمية جميع التكرارات ، اضغط على Shift + F6.









التطوير المشترك - كود معي



يأتي PhpStorm 2020.3 مع البرنامج المساعد Code With Me ، وأداة التطوير التعاوني الجديدة JetBrains وأداة البرمجة الزوجية. باستخدامه ، يمكنك مشاركة مشروع مفتوح مع مستخدمين آخرين والعمل عليه معًا في الوقت الفعلي. اقرأ المزيد عن Code With Me في هذه المنشورات .









عميل HTTP



دمج Guzzle مع عميل HTTP في PhpStorm



Guzzle هو أحد عملاء HTTP الأكثر شيوعًا لـ PHP. تخيل أنه يوجد في مكان ما في الكود طلب HTTP وتريد اختباره دون تشغيل الكود نفسه. في السابق ، كان عليك نسخ جميع المعلمات يدويًا.



يتيح لك PhpStorm 2020.3 تحويل طلبات Guzzle البسيطة إلى ملفات .http. إذا كان الطلب مدعومًا ، فسيظهر رمز بجواره. بالنقر فوقه ، ستفتح ملف خدش جديد بعنوان URL الصحيح ، ومعلمات الطلب ، والطرق ، والعناوين ، والجسم.







الآن ، من المحرر ، يمكن تشغيل الاستعلام والتلاعب به ، ثم حفظه كملف http في المشروع.



المزيد حول عميل HTTP في مراجعة الفيديو .


نسخ طلب HTTP إلى cURL



لتصدير طلب HTTP إلى سلسلة cURL ، اضغط على Alt + Enter عند الطلب في المحرر وحدد تحويل إلى cURL ونسخ إلى الحافظة . يمكن الآن إدراجها في المحطة الطرفية أو الوثائق أو أي أداة اختبار API.









محرر



تحسينات Markdown



يمكنك استخدام بناء جملة Mermaid.js في ملفات markdown لوصف المخططات والرسوم البيانية . يمكن لـ PhpStorm الآن تقديم معاينات لهم مباشرة في المحرر. المدرجة في التفضيلات / الإعدادات | اللغات والأطر | تخفيض السعر .







من الممكن الآن أيضًا إعادة تنسيق محتويات ملفات .md وفقًا للأنماط الشائعة. يتم ذلك بالضغط على ⌘⌥L / Ctrl + Alt + L.



قابل للتكوين في التفضيلات / الإعدادات | المحرر | نمط الكود | تخفيض السعر .







أخيرًا ، إذا قمت بالنقر فوق الزر Auto-Scroll Preview في الزاوية اليمنى العليا من المحرر ، فستتم مزامنة التمرير للمعاينة والنص.



تحسين التدقيق الإملائي والنحوي



يمكن الآن تصحيح الأخطاء الإملائية والنحوية بشكل أسرع:

  • أولاً ، سيظهر شرح للخطأ في نافذة منبثقة.

  • وإذا ضغطت على Alt + Enter في النص المميز ، فسيتم تقديم خيارات الاستبدال في الأعلى ، ولن تكون مخفية في عنصر فرعي ، كما كان من قبل.









محرر الانقسام عن طريق السحب والإفلات



لفتح ملفات متعددة جنبًا إلى جنب ، ما عليك سوى سحب علامة التبويب إلى الزاوية المرغوبة من الشاشة.







هناك طريقة أخرى لفتح ملف في وضع الانقسام - Shift + Enter.

يمكن النقر فوق المجموعة على الملف المحدد في عرض المشروع أو في نتائج البحث عن الملف.







علامة التبويب معاينة



إذا كنت بحاجة إلى عرض الملفات بسرعة ، فليس من الضروري الآن فتح كل ملف في علامة تبويب منفصلة. يمكنك استخدام علامة التبويب معاينة جديدة .



لتمكينه، انقر على الترس في عرض مشروع واختر تمكين معاينة تبويب و فتح الملفات مع بنقرة واحدة .







يمكنك أيضًا عرض الملفات بالضغط على مفتاح المسافة في طريقة عرض المشروع بدون فتحها.









IDE



تحسينات للبحث في كل مكان





يتم تجميع النتائج حسب الصلة:





يمكنك إجراء عمليات حسابية بسيطة دون فتح حاسبة Google :





يمكنك البحث عن طريق سجل Git:





التبديل التلقائي إلى المظهر الفاتح أو الداكن



في التفضيلات / الإعدادات | المظهر والسلوك | المظهر | موضوع حدد مزامنة مع نظام التشغيل .







مجموعة جديدة من مفاتيح الاختصار لنظام التشغيل macOS



يقلل تخطيط اختصار لوحة المفاتيح البديل لنظام التشغيل macOS من استخدام مفاتيح الوظائف حتى لا تضطر إلى مد يدك عبر لوحة المفاتيح بأكملها عند تنفيذ الإجراءات الأساسية. على سبيل المثال ، بدلاً من Fn + Shift + F6 ، تستخدم إعادة التسمية act + ⌘ + R.







الكلمات بدلاً من الرموز لمفاتيح التشغيل السريع لنظام التشغيل macOS



يمكنك جعل الكلمات Alt و Cmd وما إلى ذلك تظهر بدلاً من الرموز مثل ⌘ . تم تمكينه



في قسم التسجيل بواسطة خيار id.macos.disable.native.shortcut.symbols . للوصول إلى السجل ، استخدم Find Action Cmd + Shift + A واكتب السجل هناك .



قم بتعيين PhpStorm كتطبيق افتراضي لملفات مختلفة



و التفضيلات | الإعدادات / المحرر / أنواع الملفات انقر فوق ربط أنواع الملفات بـ PhpStorm… . في مربع الحوار ، حدد امتدادات الملفات وسيتم فتحها في PhpStorm.



إعادة التشغيل مطلوبة على macOS.







يمكن أن تولد القوالب ملفات متعددة



يمكنك إنشاء عدة ملفات في وقت واحد ، على سبيل المثال ، هيكل عظمي لوحدة نمطية أو عرض وحدة تحكم مجمعة.



في التفضيلات / الإعدادات | المحرر | انقر فوق File and Code Templates لإنشاء قالب جديد ، ثم انقر فوق رمز Create Child Template File .



يمكن استخدام متغيرات النوع في حقل اسم الملف ${NAME}



.







وإليك مثال على كيفية إنشاء وحدة تحكم وقالب في Symfony:









دعم مرحلة Git



يمكنك تمكينه عن طريق تحديد خانة الاختيار تمكين منطقة التدريج في التفضيلات / الإعدادات | التحكم في الإصدار | بوابة .



في نافذة أداة Commit (Cmd + 0 / Alt + 0) ، ستظهر مجموعتان من الملفات: مرحلي وغير منظم.



لإضافة ملف إلى مرحلي ، انقر فوق + بجانبه.







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









أدوات DB



يتضمن PhpStorm خارج الصندوق ميزات DataGrip المغطاة في نظرة عامة على إصدار DataGrip 2020.3 من زملائنا.



SQL لـ MongoDB



الآن يمكنك استخدام استعلامات SQL مقابل MongoDB. PhpStorm 2020.3 الدعم SELECT-



الاستفسارات JOIN



، WHERE



، GROUP BY



، HAVING



، ORDER BY



، LIMIT



،OFFSET



وجميع ملامح MongoDB بصرف النظر الخريطة، والحد، والتصفية، والسماح. اقرأ المزيد في منشور المدونة .







الويب



كما هو الحال دائمًا ، يتضمن PhpStorm جميع التحديثات من WebStorm 2020.3 . الأبرز هو دعم Tailwind CSS.



Tailwind CSS



يكمل PhpStorm فئات Tailwind في ملفات HTML وبعد التوجيهapply. كما سيوفر إكمال فئة زائفة.



الريح الخلفية-الانتهاء-بعد-التطبيق



إذا قمت بالتمرير فوق فئة في ملفات HTML و CSS ، يتم عرض معاينة CSS الناتجة. تتوفر المعاينة أيضًا أثناء إكمال التعليمات البرمجية ، في نافذة التوثيق المنبثقة F1 / Ctrl + Q.



الريح الخلفية - استكمال - لمتغيرات الطبقة الزائفة



يدعم PhpStorm التخصيصات من Tailwind.config.js. على سبيل المثال ، إذا قمت بتعريف سمة بألوان جديدة ، فسيتم إنشاء فئات باسم لون مخصص في نافذة الإكمال التلقائي المنبثقة.



دعم التخصيص للرياح الخلفية








يمكنك تنزيل PhpStorm 2020.3 على صفحة " ما الجديد ".



وهنا مقطع فيديو (باللغة الإنجليزية) يوضح الملامح الرئيسية للإصدار:





هذا كل هذا الوقت. سنكون سعداء إذا كان لديك أي أسئلة ورغبات وتقارير الأخطاء والأفكار فقط في التعليقات.



All Articles