مایکروسافت در حال به روز رسانی نحوه ساخت افزونه های ویژوال استودیو، با API های جدید و امکان اجرای برنامه های افزودنی خارج از فرآیند ویژوال استودیو است.
با وجود محبوبیت بسیار زیاد ویرایشگر برنامه نویس کد ویژوال استودیو، Visual Studio IDE هنوز در مرکز استراتژی زنجیره ابزار توسعه مایکروسافت قرار دارد. بیش از ۲۵ سال تکامل، یک محیط توسعه قابل تنظیم را برای ما به ارمغان آورده است که بسیار فراتر از رابط کاربری معمولی اصلی برای مجموعه ای از ابزارهای توسعه است.
Today Visual Studio یک برنامه کاربردی است که به صورت پویا ابزارها و زبان های مورد نیاز برای ساخت پروژه شما را بارگیری می کند. میتوانید زنجیرههای ابزار را از قبل پیکربندی کنید، و همچنین ویژگیهایی را که به شما در ارائه کد کمک میکنند، انتخاب و ترکیب کنید. نتیجه یک محیط توسعه انعطاف پذیر است که از مدل های توسعه مدرن، از جمله توسعه از راه دور و کد مشترک پشتیبانی می کند. حتی از آخرین دستیارهای کدنویسی مجهز به هوش مصنوعی نیز پشتیبانی میشود.
کلید این انعطافپذیری، مدل افزونه ویژوال استودیو است. این به شما این امکان را می دهد که ابزارهای خود را بسازید که به محیط ویژوال استودیو متصل شوند، با استفاده از قلاب ها در UI و یک سرور زبان داخلی برای اضافه کردن ویژگی های برجسته و تکمیل کد خود. در قلب این مدل یک جعبه ابزار وجود دارد که به شما کمک می کند از موانع توسعه برنامه های افزودنی غلبه کنید، با قالب ها، بسته های API و ابزارهای اختصاصی.
این مدل برنامه افزودنی در حال تغییر است. در سال ۲۰۲۱ به نحوه اضافه کردن پشتیبانی ویژوال استودیو ۲۰۲۲ برای افزونههای ۶۴ بیتی نگاه کردم، اما چیزهای بیشتری از پشتیبانی از فضای آدرس بزرگتر وجود دارد. برای انتقال برنامه های افزودنی موجود به محیط جدید کارهای بیشتری باید انجام شود، اما پیشرفت انتقال خوب بوده است، و باید بتوان زنجیره ابزار معمولی خود را به شکل ۶۴ بیتی و آماده برای Visual Studio 2022 دوباره جمع کرد.
معرفی VisualStudio.Extensibility
بزرگترین تغییرات در برنامههای افزودنی ویژوال استودیو با یک رابطه کاملاً مدل برنامه افزودنی جدید، اکنون به VisualStudio.Extensibility تغییر نام داده است. این مدل نحوه تعامل کد برنامه افزودنی با ویژوال استودیو را تغییر میدهد و خطر خراب شدن برنامه افزودنی یا قطع کردن IDE شما را کاهش میدهد. این کار را با اجازه می دهد برنامه های افزودنی خارج از فرآیند ویژوال استودیو اجرا شوند، بنابراین اگر یکی از کار بیفتد یا مکث کند، روی IDE میزبان تاثیری نخواهد داشت.
معرفی یک مدل افزونه جدید به تیم ویژوال استودیو این امکان را داده است که چندین پیشرفت مهم را ارائه دهد. مجموعه جدیدی از APIها بازسازی و طراحی شده اند تا ساده تر شوند. متاسفانه برای توسعه دهندگانی که از C++ برای ساخت برنامه های افزودنی استفاده می کنند، مدل جدید فقط دات نت است. این تغییر مزایایی را به همراه دارد: نسخههای جدید یک برنامه افزودنی را میتوان به صورت داغ بارگذاری کرد، بنابراین میتوانید بدون راهاندازی مجدد کل محیط توسعه خود، بهروزرسانی کنید. آنها چند پلتفرمی هستند و در نسخه آتی Arm Visual Studio بدون هیچ گونه بازسازی اجرا خواهند شد. استفاده از فرآیندهای جداگانه برای برنامههای افزودنی در نهایت به شما این امکان را میدهد که در نسخه بعدی ویژوال استودیو یک سطح اعتماد را انتخاب کنید، برای مثال، دسترسی به سیستم فایل را قفل کنید و تماسهای API را فقط به آنهایی که Visual Studio ارائه میکند محدود کنید.
مایکروسافت در حال اتخاذ رویکردی مرحلهای برای عرضه این مدل افزونه جدید است. مرحله اول، با پشتیبانی از برنامههای افزودنی خارج از فرآیند برای استفاده با اسناد باز، در سپتامبر ۲۰۲۱ ارسال شد. مرحله دوم اکنون فرا رسیده است، تقریباً یک سال بعد. این آخرین نیز نخواهد بود؛ انتظار نمی رود تا پس از انتشار عمده بعدی ویژوال استودیو، سازگاری کامل با مدل افزونه قدیمی تر وجود داشته باشد. چنین مسیر کندی ممکن است عجیب به نظر برسد، اما منطقی است زیرا ویژوال استودیو آنقدر بخش مهمی از اکوسیستم مایکروسافت است که هر مشکلی، هر چقدر هم که کوچک باشد، میتواند در نهایت برای بسیاری از توسعهدهندگان مشکلات مهمی ایجاد کند. ایمن بودن بسیار بهتر از متاسف بودن است.
مرحله اول از عملیات خارج از فرآیند برای میزبانی برنامههای افزودنی که کد را تجزیه و تحلیل و تجزیه میکنند، استفاده کرد و با درختهای سند بسیار بزرگ کار میکرد. این می تواند حافظه فشرده باشد، و با اجرای در فرآیند خودش، یک برنامه افزودنی می تواند توسط زمانبندی های خود ویندوز مدیریت شود و از ویژوال استودیو محافظت کند. به عنوان مثال، میتوانید خطی بنویسید که محتویات پنجره سند فعلی شما را بارگیری میکند، آنها را تجزیه میکند و نتایج را بدون تأثیر بر فرآیند اصلی ویژوال استودیو ارائه میکند. بسیاری از کدهایی که اسکن می شوند می توانند پنجره ویرایش شما را قفل کنند. در عوض، اسکن اکنون در فرآیندی جداگانه اجرا میشود، در حالی که شما همچنان به کار خود ادامه میدهید، در جریان و در فوکوس باقی میماند.
فاز ۲: افزودن رابطهای کاربری به برنامههای افزودنی
مرحله دوم مدل توسعهپذیری جدید که اخیراً راهاندازی شد مدل فرآیند بسیار بیشتر با پشتیبانی از چارچوب رابط کاربری راه دور. این الگوی آشنا مدل-view-viewmodel را در قلب بسیاری از ابزارهای UI مدرن دات نت استفاده می کند. اگر یک برنامه MAUI یا مشابه ساختهاید، باید رویکردی را که افزونههای ویژوال استودیو استفاده میکنند یکسان بیابید. پنجره های برنامه افزودنی را می توان در داخل ویژوال استودیو ایجاد کرد، مستقیماً توسط کد شما قرار داده شد یا به طور خودکار توسط ویژوال استودیو قرار داده شد.
ویندوزهای ایجاد شده توسط این روش یک ابزار انعطاف پذیر هستند. آنها را می توان در صورت نیاز با اتصال ناهمزمان به ویژوال استودیو روشن و خاموش کرد. پنجره های برنامه افزودنی بخش مهمی از افزودن ابزارهای شخصی شما به IDE مایکروسافت هستند. شما می توانید اقدامات را تجسم کنید یا یک روش غیر پیچیده برای انتخاب عناصر جدید برای کد خود اضافه کنید. به عنوان مثال، اگر در حال نوشتن یک برنامه افزودنی برای تولید سریع طرحبندیهای XAML برای برنامههای دسکتاپ هستید، میتوانید پنجرهای ایجاد کنید که فهرستی از طرحبندیهای احتمالی را در خود نگه میدارد، که میتواند بهعنوان انتخابکنندهای استفاده شود که بهطور خودکار یک داربست کد را در برنامهتان بارگیری میکند. سفارشی شود.
افزودن رابط کاربری به ویژوال استودیو میتواند قدرتمند باشد و گزینههای برنامه افزودنی ساده به سرعت به افزایش بهرهوری میافزایند. برخی از گزینههای فاز ۲ به شما امکان میدهند نکات ابزار را به برنامههای افزودنی خود اضافه کنید، در حالی که برخی دیگر اعلانهای پیشرفت را به دستورات خارجی طولانیمدت اضافه میکنند. این آخرین گزینه برای برنامههای افزودنی مفید است که Visual Studio را در گردشهای کاری devops ادغام میکنند، بنابراین میتوانید نحوه اجرای یک کار یا آزمایش خارجی را مشاهده کنید. این اعلانهای پیشرفت به هنگام کار با عملیات ناهمزمان در برنامههای افزودنی کمک میکنند، و اطمینان میدهند که کاربران شما از اقدامات قبل از تکمیل آنها خارج نمیشوند.
تفاوتهای مهمی بین این رویکرد و توسعه سنتی Windows Presentation Foundation وجود دارد. شاید مهم ترین چیزی که باید به آن توجه کنید این است که نمی توانید از کنترل های خود استفاده کنید. فقط میتوانید از مجموعه خود Remote UI استفاده کنید. این برای پشتیبانی از تم های ویژوال استودیو است، زیرا نمی خواهید برنامه افزودنی شما با بقیه برنامه تداخل داشته باشد. پشتیبانی از طرح زمینه را می توان با وارد کردن منابع سبک از پوسته ویژوال استودیو برای استایل دادن به برنامه افزودنی اضافه کرد.
یکی دیگر از ویژگی های مفید در فاز ۲، پشتیبانی از API های در حال پردازش است. این به یک برنامه افزودنی اجازه می دهد تا زمانی که یک برنامه افزودنی قدیمی را به مدل جدید منتقل می کنید یا می خواهید توابع قدیمی و جدیدتر را در همان کد ترکیب کنید، با API های قدیمی تر کار کند. این میتواند خطری را افزایش دهد، اما زمانی که منتظر فازهای بعدی برای افزودن APIها و ویژگیهای مورد نیاز خود هستید، میتوانید برنامه افزودنی خود را وارد بازار ویژوال استودیو کنید.
اگرچه این یک پروژه منبع باز نیست، اسناد در حال توسعه و ارائه در GitHub است. در کنار مستندات، مایکروسافت مجموعهای از الگوهای پروژه و ابزارهایی را برای آزمایش و اشکال زدایی برنامه های افزودنی خود از طریق Visual Studio Marketplace، آماده برای استفاده. این باید همه چیزهایی را که برای شروع ساخت برنامه های افزودنی خارج از فرآیند خود برای ویژوال استودیو نیاز دارید در اختیار شما قرار دهد. نتیجه باید یک پلت فرم توسعه پایدارتر برای همه باشد.
پست های مرتبط
مدل افزونه جدید ویژوال استودیو را درک کنید
مدل افزونه جدید ویژوال استودیو را درک کنید
مدل افزونه جدید ویژوال استودیو را درک کنید