فيجوال ستوديو Visual Studio 2022 قيد المعاينة الآن، ومن المقرر إطلاقه في تشرين الثاني 2021 جنباً إلى جنب مع .NET 6، والذي سيدعمه.
سيتضمن العديد من الميزات والتحسينات الجديدة، مثل AI IntelliCode التي يمكنها إكمال أجزاء من التعليمات البرمجية تلقائياً نيابة عنك.
يمكنك تنزيل نسخة المعاينة من موقع الويب. على الرغم من أنه لا يزال تجريبياً وغير جاهز للإنتاج، إلا أنه إلى حد كبير لم يتغير كثيراً، لذلك لا تخف من تجربته.
سنغطي أهم التغييرات اعتباراً من نسخة المعاينة رقم 3، ولكن إذا كنت تريد قراءة مزيد من ملاحظات التصحيح، فيمكنك القيام بذلك من خلال تصفح مستندات مايكروسوفت Microsoft. هناك أيضاً خارطة طريق تصف الاتجاه العام للتحديث.
إنه (وأخيراً) إصدار 64 بت:
لطالما كان Visual Studio تطبيق 32 بت، مما يعني أنه اقتصر على 4 غيغابايت من ذاكرة الوصول العشوائي في العملية الرئيسية.
عادةً لا تتجاوز المشاريع العادية هذا الحد، ولكن يمكن لبعض المستخدمين أن يواجهوا نفاد الذاكرة في بعض الأوقات.
مع VS 2022، تم إصلاح ذلك، وهو الآن تطبيق 64 بت. اختبرت مايكروسوفت Microsoft ذلك مع 1600 مشروع و 300 ألف ملف، وهي تعمل بشكل جيد.
يجب أن تعمل نسخة 64 بت بشكل أسرع من الناحية النظرية، ويبدو أنها أسرع قليلاً في بدء التشغيل، ولكن مايكروسوفت Microsoft تعمل أيضاً على الأداء بشكل عام، لذلك من الصعب معرفة مدى تأثير ذلك عليه بالفعل. في كلتا الحالتين، إنه تغيير جيد.
بالطبع، لا يزال بإمكانك تطوير تطبيقات 32 بت باستخدام VS 2022.
الذكاء الاصطناعي IntelliCode مذهل:
يتميز فيجوال ستوديو Visual Studio 2022 بترقية جادة لأداة الإكمال التلقائي IntelliCode. إنه قادر على الإكمال التلقائي للأسطر وأجزاء التعليمات البرمجية بالكامل، ويعمل بشكل جيد للغاية.
إنه مختلف قليلاً عن برنامج Copilot التابع لشركة GitHub، والذي يقوم بعمل مماثل. يُنشئ Copilot مقتطفات كاملة من التعليمات البرمجية، ويعمل بشكل أفضل للوظائف الصغيرة المضمنة مع حل واضح.
إنه أمر رائع، لكن له مشكلاته الخاصة، ومعظمها حقيقة أن الكود الذي ينشئه ليس مضموناً أن يكون ما تريده فعلاً.
يتخذ IntelliCode منهجاً أكثر تقييداً، ويكمل ببساطة سطراً واحداً، مع مراعاة بعض العوامل التالية:
- أسماء ومواقع المتغيّرات.
- المكتبات التي تستخدمها.
- وظائف الكود.
- القائمة المنسدلة IntelliSense، والتي يمكنك بالفعل تصفحها لأسفل لإعطاء IntelliCode المزيد من الاقتراحات.
بعد استخدامه لمدة أسبوعين، إنه حقاً شيء عليك تجربته بنفسك. إنه ذكي بشكل مثير للصدمة، وفي كثير من الأحيان أثناء استخدامه وجدت نفسي أفكر: واو، كنت على وشك كتابة ذلك!
على سبيل المثال، كتابة تابع يأخذ رقماً من 1 إلى 12:
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172328/New-Visual-Studio-2022-01.png)
لفهم وإعطاء النتيجة، يقوم IntelliCode بأكثر من مجرد إكمال بناء جملة تلقائي؛ إنه يفهم أنني أتوقع استثناءً، هذا واضح جداً نظراً لأنني أكتب كلمة throw، ويمكنه اكتشاف أن هذا الاستثناء يتم طرحه فقط في حالة فشل مقارنة حجم عدد صحيح بآخر.
إنه يعلم أن Width عبارة عن وسيط يتم التحقق منه قبل تشغيل الكود، وأنني أقوم باستثناء لأن هناك خطأ ما في الوسيط.
بمعرفة كل هذا، يقوم بتخمين دقيق للغاية لنواياي ويقرر أن ArgumentOutOfRangeException يجب أن يكون ما أحاول كتابته، قبل أن أتمكن حتى من البدء في كتابة new كما ترى في الصورة أعلاه.
وإذا تصفحت للأسفل، فيمكنك ملء النتائج بخيارات مختلفة. لا يزال يحتاج لبعض التحديث ( لقد قرر ترميز العرض Width ثم استخدم nameof لاحقاً) ولكنه بشكل عام يعمل بشكل جيد.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172425/New-Visual-Studio-2022-02.png)
يعمل IntelliCode طوال الوقت، وكل ما عليك فعله هو الضغط على Tab لقبوله، وإلا يمكنك الاستمرار في الكتابة. حالياً، يعمل فقط مع C#، ولكن المزيد من اللغات قريباً.
دعم .NET 6:
.NET 6 هو أحدث إصدار، وهو أيضاً قيد المعاينة. سيحتوي VS 2022 على دعم مدمج له ولجميع ميزاته، واستخدام .NET 6 للمشاريع الجديدة افتراضياً.
والجدير بالذكر أن VS 2022 سيحظى بدعم كامل لـ .NET MAUI، أو واجهة مستخدم التطبيقات متعددة الأنظمة الأساسية، وهي معيار مايكروسوفت Microsoft الجديد لتطوير التطبيقات المحلية عبر الأنظمة الأساسية.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172435/New-Visual-Studio-2022-03.png)
.NET Hot Reloading:
أحد أكثر الأشياء المزعجة في البرمجة هو التحديق في شاشتك، وانتظار البحث عن أخطاء التطبيق وتشغيله، ومشاهدة نتيجة التغييرات.
Hot Reloading هي ميزة في العديد من اللغات الأخرى مثل JavaScript، وقد استخدمتها أطر الويب مثل React لإجراء تغييرات سريعة.
حتى الآن، لا يوجد حل موحد لـ .NET.
إنه يتطلب إعداد مشروع محدد، ولكن VS 2022 يتضمن إعادة التحميل السريع لـ:
- WPF
- تطبيقات ويندوز
- .NET MAUI
- تطبيقات ASP.NET Core
- Console applications
- WinUI 3
هذا يستثني مكتبات class التي يستخدمها تطبيق آخر.
قد لا يتم تطبيق أنواع معينة من التغييرات بشكل صحيح، مما سيطالبك بإجراء إعادة تشغيل. يمكنك الاطلاع على القائمة الكاملة لها هنا.
في الأساس، يمكنك تحرير الكود بأي طريقة، ولكن بمجرد أن تبدأ في لمس بنية المشروع، قد تضطر إلى إعادة التشغيل.
إن هذه الميزة مدمجة جيداً في تجربة تصحيح أخطاء VS، مع رمز (أيقونة) جديدة لـ زر تطبيق تغييرات الكود الذي سيؤدي إلى إعادة التحميل السريع.
يمكنك أيضاً استخدام أمر dotnet watch الجديد لإعادة التحميل تلقائياً عند تغيير الملف.
يمكن لتطبيقات الويب Razor/Blazor حالياً الاستفادة من إعادة التحميل السريع، ولكن لا يزال لدى Blazor WebAssembly بعض الأشياء التي يتعين حلها، وهي لا تعمل حالياً حتى الآن.
ومع ذلك يتم العمل عليه، وقد يتم طرحه في الإصدار النهائي في وقت لاحق في تشرين الثاني.
الاختبار عن بعد Remote Testing:
يتضمن VS 2022 معاينة تجريبية تتيح لك تشغيل الاختبارات في بيئات أخرى، بما في ذلك Linux و WSL وحتى عبر SSH.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172451/New-Visual-Studio-2022-04.png)
يحتاج للإعداد قليلاً، وستحتاج بالطبع إلى التأكد من تهيئة بيئتك لتشغيل التعليمات البرمجية بشكل صحيح، ولكن بعد أن تصبح قادراً على تحديد بيئات مختلفة عند إجراء اختباراتك.
تحسينات عامة:
هناك الكثير من التغييرات الصغيرة المذكورة في ملاحظات التصحيح، سنقوم بإدراج بعض من أكثرها إثارة للاهتمام هنا.
شهد تصحيح الأخطاء بعض التحسينات، مع خيارات جديدة لنقاط التوقف breakpoints أكثر تقدماً، بالإضافة إلى فرض التشغيل إلى المؤشر، والذي سيتجاهل جميع نقاط التوقف الموجودة ويتوقف عند سطر الكود الذي حددته.
يمكن أن يكون هذا مفيداً جداً إذا كنت ترغب في اختبار شيء ما دون إزالة كل نقطة توقف، أو تخطي كل شيء يدوياً.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172455/New-Visual-Studio-2022-05.png)
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172500/New-Visual-Studio-2022-06.png)
تكاملات Git من VS تدعم الآن مستودعات متعددة لكل مشروع، وأصبح التعامل معها الآن أسهل.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172511/New-Visual-Studio-2022-07.png)
تم إعادة تصميم جميع الرموز لتحقيق التناسق.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172529/New-Visual-Studio-2022-08-1024x484.png)
تدعم تعليقات XML الآن التعليقات متعددة الأسطر مع الاحتفاظ بمسافة بيضاء وكتل CDATA.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172534/New-Visual-Studio-2022-09-1024x717.png)
لم يعد خيار البحث عن جميع المراجع Find all references ينتج مخرجات متكررة غير صحيحة عندما تكون في مشروع متعدد الأهداف.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172539/New-Visual-Studio-2022-10-1024x205.png)
حصلت Razor Pages/Blazor على العديد من عمليات التكامل بالنسبة للتحرير، وستعمل الآن بشكل أفضل مع IntelliSense، مع تحديد الأخطاء، وتنسيق أفضل في كتل الكود البرمجي.
يمكنك الآن أيضاً استخدام عرض الكود في ملفات Razor، والذي كان قيداً مزعجاً لفترة من الوقت.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172551/New-Visual-Studio-2022-11-1024x254.png)
وهناك عدد قليل من قوالب المشاريع الأخرى، بما في ذلك تطبيقات Angular و React المستضافة في ASP.NET Core، والتي يمكن إجراؤها باستخدام تكامل API تلقائياً.
![](https://syriantechbucket.s3.eu-west-1.amazonaws.com/wp-content/uploads/2021/08/22172556/New-Visual-Studio-2022-12.png)
للحصول على القائمة الكاملة للتغييرات، يمكنك الرجوع إلى ملاحظات تصحيح VS 2022.