في بداية الأسبوع الماضي ، أصدرنا
Visual Studio 2019 v.16.1 Preview 1 (انظر
ملاحظات الإصدار ). هذه أول معاينة لأول تحديث لبرنامج Visual Studio 2019. إذا لم تكن قد قمت بعد بتكوينها لتلقي إصدارات Preview ، فقم بذلك
الآن . يتم تثبيت إصدار المعاينة دون مشاكل بجانب إصدار الإصدار ، بحيث لا تتداخل مع بعضها البعض. أوصي بشدة أن يقوم جميع مؤلفي الإضافات بتثبيت إصدار المعاينة.
هل لديك حاليا 16.1 معاينة مثبتة؟ رائع. إليك بعض الميزات التي قد تعجبك. التفاصيل تحت خفض!

دعم المشروع المشترك
هناك العديد من الأسباب التي تجعل من مؤلفي الإضافات أحيانًا يقسمون ملحقًا إلى عدة مشاريع لدعم إصدارات مختلفة من Visual Studio. إذا كنت تستخدم API غير موجود لإصدار سابق من Visual Studio ، أو إذا كانت هناك تغييرات مهمة بين الإصدارات التي تريد دعمها. الآن أصبح من الأسهل بكثير تقسيم الامتداد.
في Visual Studio 2019 v.16.1 Preview 1 ، أضفنا الدعم للمراجع إلى المشروع المشترك من مشاريع VSIX في نفس الحل.

يمكنك وضع تعليمات برمجية شائعة في مشروع مشترك منفصل ، يتم تجميعها مباشرةً في مشاريع VSIX في وقت البناء. التعليمة البرمجية الوحيدة الموجودة في مشاريع VSIX نفسها هي الكود المحدد للإصدار المدعوم من Visual Studio. والنتيجة هي جهازي VSIX منفصلان يستهدفان مجموعتهما الخاصة من إصدارات Visual Studio ويشاركان معظم الكود من مشروع مشترك. تحقق من رمز
ملحق Extension Manager الذي يفعل ذلك بالضبط.
لا حاجة لمزيد من ملف .resx
عند إضافة الأوامر والقوائم وما إلى ذلك باستخدام ملف VSCT ، يجب عليك تحديد ملف .resx الذي تم تمييزه
بخاصية MergeWithCTOMSBuild . تهتم القوالب في Visual Studio بإضافة هذا الملف ، وكذلك إضافة ملف .ico المشار إليه بواسطة ملف .resx. ومع ذلك ، فإن الحاجة إلى .resx هي تفاصيل تنفيذ ، ومعظم الملحقات لا تحتاج إلى استخدامها.
لتبسيط مشروع VSIX ، تمت إزالة متطلبات ملف .resx /.ico لأولئك الذين يستخدمون أحدث حزمة من حزم NuGet
Microsoft.VSSDK.BuildTools 16.0 أو الأحدث.
وراء الكواليس ، توفر حزمة NuGet .resx فارغة للتجميع مع خاصية MergeWithCTO حتى تقوم بتسجيل ملكيتك في المشروع.
لكل مراقب الوعي
يتم تضمين دعم إضافي لكل شاشة في 16.1 مع تثبيت .NET Framework 4.8. تعد Windows Forms UI أفضل في توسيع نطاق DPI على الشاشات. ومع ذلك ، قد يتسبب هذا في حدوث مشكلات في واجهة المستخدم في الملحق الخاص بك بعد تثبيت .NET Framework 4.8.
عند استخدام Windows Forms في ملحق ، يمكنك تعيين سلوك التحجيم لـ Visual Studio 2017 عن طريق
حزم إنشاء النموذج أو التحكم في
DpiAwareness.EnterDpiScope .
using (DpiAwareness.EnterDpiScope(DpiAwarenessContext.SystemAware)) using (var form = new MyForm()) { form.ShowDialog(); }
كل ما عليك القيام به هو إضافة رابط إلى حزمة NuGet
Microsoft.VisualStudio.DpiAwareness . استخدم هذه الحزمة في الملحقات التي تستهدف الإصدارات السابقة من Visual Studio ، ولكن ضع في اعتبارك أنها ستعمل فقط عند استخدامها في الإصدار 16.1 والإصدارات الأحدث. لذلك ، يمكن استخدامه في الملحقات التي تمتد إصدارات متعددة من Visual Studio.
لتبسيط محاكاة العديد من الشاشات التي تعمل مع تحجيم DPI مختلف ، أنشأ المهندس من فريق Visual Studio IDE
أداة ملائمة صغيرة ووضعها على GitHub . استخدم الفريق هذه الأداة عند قيامهم بإضافة دعم للتوعية لكل جهاز عرض ، حتى تتمكن من العثور عليه مفيدًا أيضًا.
اقرأ المزيد حول كيفية العمل مع
Per-Monitor Awareness .
بدء تشغيل متزامن تعطيل
منذ 18 شهرًا ، أرسلنا رسالة بريد إلكتروني إلى شركاء التمديد ، نعلن فيها تقادم بدء التشغيل المتزامن لحزم الامتدادات. منذ عام مضى ، نشرنا منشورًا
مدونًا يحتوي على معلومات أكثر تفصيلًا مفادها أن حزمة التشغيل التلقائي المتزامن لن يتم دعمها في إصدار مستقبلي من Visual Studio. هذا الإصدار هو 16.1.
هناك
أمثلة رائعة
على كيفية الترقية إلى
AsyncPackage مع تمكين تحميل الخلفية ، وقد تم بالفعل نقل معظم الامتدادات اليوم. إذا لم تكن قد قمت بذلك بالفعل ، فقد حان الوقت للقيام بذلك قبل أن يغادر 16.1 وضع المعاينة.
metapackage الجديد sdk
Microsoft.VisualStudio.SDK metapackage هي حزمة NuGet منفصلة تشير إلى كافة حزم Visual Studio المختلفة التي تشكل SDK. أروع شيء في metapackage هو أنه يمكنك الوصول إلى جميع الواجهات والخدمات. بالإضافة إلى ذلك ، يمكنك أيضًا تجنب مشكلات الإصدارات غير المتطابقة من الحزم.
عندما أصدرنا Visual Studio 2019 (16.0) ، أشار قالب مشروع VSIX إلى الإصدار 15.9 من metapackage SDK. هذا لأن الإصدار 16.0 كان لا يزال قيد التطوير. كان يجب نشر جميع الحزم الفردية على NuGet قبل أن نتمكن من الاعتماد عليها من حزمة التعريف.
والخبر السار هو أننا الآن جاهزون أخيرًا للإصدار 16.0. إذا كانت امتدادتك تدعم الإصدار 16.0 ، فعليك استخدامه. يمكنك أيضًا معرفة المزيد حول
إصدارات الإضافات هنا .