چندین دهه است که این دیدگاه به خوبی به ما خدمت کرده است، اما دیگر برای ما کافی نیست. ما به طور فزاینده به ویژگیهای محیط توسعه یکپارچه (IDE) مانند IntelliSense، ریفکتورینگ، تغییر نام هوشمند، "یافتن همه رفرنسها" و "Go to definition" متکی هستیم تا بهرهوری خود را افزایش دهیم. ما برای بهبود کیفیت کد و تولیدکنندگان کد برای کمک به ساخت برنامه به ابزارهای تحلیل کد متکی هستیم. هر چه این ابزارها هوشمندتر شوند، آنها نیاز به دسترسی بیشتر و بیشتر دانش عمیق کد دارند که فقط کامپایلرها در اختیار دارند. این مأموریت اصلی پروژه Roslyn است.
Roslyn چیست؟
Roslyn یک پلتفرم منبع باز است که توسط مایکروسافت ساخته شده است، و حاوی کامپایلرها و ابزارهایی برای تجزیه و تحلیل کدهای نوشته شده در C# و Visual Basic است.
Roslyn در Microsoft Visual Studio 2015 استفاده میشود. نوآوریهای مختلفی مانند رفع کد با استفاده از پلتفرم Roslyn انجام میشود.
با استفاده از ابزارهای تحلیلی ارائه شده توسط Roslyn، میتوانید تجزیه کد را کامل انجام دهید، و همه ساختارهای زبان پشتیبانیشده را مورد تجزیه و تحلیل قرار دهید.
مأموریت اصلی پروژه Roslyn
وظیفه اصلی پروژه Roslyn باز کردن جعبههای سیاه و اجازه دادن به ابزارها و کاربران نهایی برای اشتراکگذاری اطلاعات باارزشی که کامپایلرها در مورد کد ما دارند میباشد. از طریق پروژه Roslyn کامپایلرها تبدیل به سرویسها میشوند. APIهایی که میتوانید برای کدهای مربوط به وظایفی در ابزارها و برنامههای خود استفاده کنید.
انتقال به کامپایلرها به عنوان سرویسها، جلوگیری از ورود برای ایجاد برنامهها و ابزارهای متمرکز کد را کاهش میدهد. این امر فرصتهای بسیاری برای نوآوری در زمینههایی مانند برنامهنویسی متا، تولید کد و تبدیل، استفاده تعاملی از زبانهای C# و VB، و تعبیه C# و VB در حوزه زبانهای خاص را ایجاد میکند.
سورس کد Roslyn از طریق یک ریپازیتوری در گیتهاب در دسترس است، که به شما اجازه میدهد نحوه کار آن را مشاهده کنید و در صورت بروز خطا، آن را به توسعهدهندگان گزارش دهید.
کار با Workspace
لایه Services نقطه شروع برای انجام تحلیل کد و ریفکتورینگ کل سولوشن است. در این لایه، Workspace API به شما کمک میکند تا تمام اطلاعات مربوط به پروژهها را در یک سولوشن در یک مدل آبجکت واحد سازماندهی کنید، و به شما امکان دسترسی مستقیم به مدلهای آبجکت لایه کامپایلر مانند متن سورس، درختهای سینتکس، مدلهای semantic را بدون نیاز به تجزیه فایلها، پیکربندی گزینهها یا مدیریت وابستگیهای درون پروژهای ارائه میدهد.
محیط میزبان، مثل IDE، workspaceای را برای شما مرتبط با سولوشن باز ارائه میدهد. همچنین استفاده از این مدل خارج از IDE توسط بارگذاری ساده یک فایل سولوشن امکانپذیر است.
کار با Editor Services
APIهای سرویس و کامپایلر برای تجزیه کد و دستکاری کد کافی هستند. با این حال، در بسیاری از سناریوها، شما ممکن است بخواهید یک extension را برای ویژوال استودیو ایجاد کنید یا یک ویژگی موجود در IDE را تقویت کنید. Editor Services APIها به شما امکان میدهند تا منطق تحلیل کد خود را به راحتی با ویژگیهای ویژوال استودیو مثل IntelliSense، تگهای هوشمند، و مواردی برای خطاها متصل کنید.
Editor Services APIs وابسته به ویرایشگر متن Editor Services APIs است.
نتیجهگیری
پروژه Roslyn مجموعهای از Compiler APIs، Services APIs و Editor Services APIs را نشان میدهد که اطلاعات غنی در مورد سورس کد ارائه میدهد و دارای وفاداری کامل به زبانهای C# و Visual Basic است. این پروژه فرصتهای بسیاری را برای نوآوری در زمینههای مختلف مانند برنامهنویسی متا و تولید کد برای این زبانها ایجاد میکند.
نظرات کاربران در رابطه با این دوره