# مایکروسافت ویژوال استودیو
ویژوال استودیو نام محیط یکپارچه توسعه نرم‌افزار (IDE) شرکت مایکروسافت است که جهت تولید برنامه‌های رایانه‌ای برای مایکروسافت ویندوز و تولید وبگاه، برنامه‌های کاربردی وب و خدمات وب استفاده می‌شود.
ویژوال استودیو از یک ویرایشگر با قابلیت اینتلیسنس (تکمیل خودکار کد) بهره می‌گیرد.
ویژوال استودیو از ۳۶ زبان برنامه‌نویسی پشتیبانی می‌کند و تقریباً قابلیت ویرایش و اشکال‌زدایی را برای تمام زبان‌های برنامه‌نویسی (به شرط وجود سرویس مناسب برای آن زبان) فراهم می‌کند. زبان‌های پیش‌فرض پشتیبانی شده شامل: C, C++‎، C++/CLI، VB.NET، C#، F#، TypeScript، XML، JavaScript، XSLT، HTML ،python، CSS و java می‌باشند.
ساده‌ترین نسخه ویژوال استودیو، نسخه Community، رایگان است.

## نگارش‌ها

### Express
ویرایش ویژه
ویرایش ویژه، گونهٔ سبک شدهٔ VS است که به‌طور رایگان عرضه می‌شود. امکاناتی که در این نسخه ارائه می‌شود نسبت به سایر ویرایش‌ها کم‌تر است و نمی‌توان افزونه‌ای به IDE اضافه کرد. از جمله این که امکان برنامه‌نویسی برای موبایل، کامپایل ۶۴ بیتی.

### Community
ویرایش رایگان
از ۱۲ نوامبر ۲۰۱۴ و در کنار مجموعه ویژوال استودیو ۲۰۱۳، نسخه Community نیز عرضه شد. پیش از این، تنها نگارش‌های رایگان ویژوال استودیو، انواع Express با ویژگی‌هایی محدود بود. این نسخه از ویژوال استودیو، محدودیت‌های Express را نداشته و با امکانات کامل عرضه می‌شود و جایگزین Visual Studio Express می‌باشد. جامعه هدف این نگارش، افراد و گروه‌های کوچک است. گروه‌های غیر سازمانی تا ۵ نفر می‌توانند از این نگارش و گروه‌های ۶ نفره و بزرگ‌تر باید از نگارش تجاری استفاده کنند.

### Professional
ویرایش حرفه ای
از ویژوال استودیو ۲۰۱۰ به بعد این نگارش مبتدی‌ترین نگارش تجاری است که عرضه می‌شود. این نگارش از تمامی زبان‌های برنامه‌نویسی پشتیبانی شده را شامل می‌شود. همچنین این نگارش امکان پشتیبانی MSDN در سطح Essentials یا پشتیبانی کامل در سطح MSDN library (بسته به نوع پروانه) را فراهم می‌آورد.

### Enterprise
ویرایش سازمانی
علاوه بر ویژگی‌های ارائه شده توسط نسخه حرفه‌ای، نسخه Enterprise مجموعه جدیدی از ابزارهای توسعه نرم‌افزار، توسعه پایگاه داده، همکاری، معیارها، معماری، تست و گزارش‌دهی را ارائه می‌کند.

## قابلیت‌ها

### اشکال‌یاب (Debugger)
ویژوال استودیو شامل یک اشکال‌یاب (به انگلیسی: Debugger) است که برای اشکال‌یابی برنامه‌های نوشته شده با زبان‌های مورد پشتیبانی ویژوال استودیو مورد استفاده قرار می‌گیرد. همچنین اشکال‌یاب ویژوال استودیو می‌تواند به پروسه‌های در حال اجرا (به انگلیسی: running processes) متصل شده و آن‌ها را اشکال‌یابی کند. اگر کد منبع پروسه در حال اجرا در دسترس باشد، اشکال‌یاب کد در حال اشکال‌یابی را به صورت هم‌زمان نمایش می‌دهد، در غیر اینصورت می‌تواند دیس‌اسمبلی کد را نمایش دهد. اشکال‌یاب ویژوال استودیو همچنین می‌تواند روبرداری حافظه (به انگلیسی: memory dump) ایجاد کند یا روبرداری حافظه را جهت اشکال‌یابی دریافت کند.
اشکال‌یاب امکان ایجاد بریک‌پوینت (به انگلیسی: breakpoint) که اجازه توقف اجرای برنامه در محل خاص را می‌دهد و همچنین مشاهده مقادیر متغیرها در برنامه در حال اجرا را نیز دارد. بریک‌پوینت‌ها را می‌توان به صورت شرطی ایجاد کرد تا در صورتی که شرایط خاصی احراز شد، اجرای برنامه جهت اشکال‌یابی متوقف شود. می‌توان اجرای کد را به صورت خط به خط انجام داد یا در هنگام اشکال‌یابی، به مجموعه‌ای از کدها وارد یا از آن خارج شد (به عنوان مثال به یک حلقه یا یک شرط یا یک تابع خاص) اشکال‌یاب امکان ویرایش و ادامه را پشتیبانی می‌کند تا در حین اجرا بتوان مقادیر متغیرهای زمان اجرا را تغییر و کار برنامه با مقادیر جدید ادامه پیدا کند.

### طراح (Designer)
ویژوال استودیو شامل تعدادی ابزار برای کمک به طراحی اپلیکیشن‌هاست که عبارتند از:
طراح ویندوز فرمطراح ویندوز فرم (به انگلیسی: Windows Forms designer) برای ایجاد برنامه‌های واسط گرافیکی کاربر توسط Windows Forms استفاده می‌شود. به کمک این طراح می‌توان کنترل‌های مختلف و همچنین ارتباط با بانک اطلاعاتی را به برنامه ویندوزی افزود. واسط کاربر که این طراح در اختیار می‌گذارد، از طریق مدل برنامه‌نویسی رویدادمحور به کد برنامه متصل است. این طراح می‌تواند کد سی شارپ یا ویژوال بیسیک دات‌نت را برای برنامه تولید کند.
طراح بنیان نمایش ویندوزطراح بنیان نمایش ویندوز (به انگلیسی: WPF designer) با ویژوال استودیو ۲۰۰۸ معرفی شد. مانند طراح ویندوز فرم، از کشیدن و رها کردن (به انگلیسی: drag & drop) کنترل‌ها پشتیبانی می‌کند.

### سایر ابزارها
Visual Studio Tools for Officeاین نسخه در حقیقت یک SDK است که به Visual Studio اضافه می‌شود تا امکان برنامه‌نویسی برای برنامه‌های آفیس شامل اکسل، ورد، InfoPath, Outlook و اکسس را فراهم آورد. ویژگی آن شبیه ویرایش استاندارد است با این تفاوت که از کامپایلر مخص

## تاریخچه
اولین ورژن ویژوال استودیو در سال ۱۹۹۷ منتشر شد که نام آن ویژوال استودیو ۹۷ و ورژن آن ۵٫۰ بود. جدیدترین نسخه ویژوال استودیو نسخه ۱۶٫۶٫۰ است که در تاریخ ۲۱ فوریه ۲۰۱۹ تحت عنوان ویژوال استودیو ۲۰۱۹ به‌طور عمومی منتشر شد. دات نت فریم ورک پشتیبانی شده در این نسخه ۴٫۰ تا ۴٫۸ است.
| نام                       | اسم رمز | شماره نگارش | پشتیبانی از چارچوب دات‌نت |
| ------------------------- | ------- | ----------- | ------------------------ |
| Visual Studio 2022        | Dev17   | ۱۷٫۰        | ۴٫۶٫۲–۴٫۸                |
| Visual Studio 2019        | Dev16   | ۱۶٫۰        | ۳٫۵–۴٫۸                  |
| Visual Studio 2017        | Dev15   | ۱۵٫۰        | ۳٫۵–۴٫۷٫۲                |
| Visual Studio 2015        | Dev14   | ۱۴٫۰        | ۲٫۰–۴٫۶٫۱                |
| Visual Studio 2013        | Dev12   | ۱۲٫۰        | ۲٫۰–۴٫۵٫۱                |
| Visual Studio 2012        | Dev11   | ۱۱٫۰        | ۲٫۰–۴٫۵                  |
| Visual Studio 2010        | Dev10   | ۱۰٫۰        | ۲٫۰–۴٫۰                  |
| Visual Studio 2008        | Orcas   | ۹٫۰         | ۲٫۰, ۳٫۰, ۳٫۵            |
| Visual Studio 2005        | Whidbey | ۸٫۰         | ۲٫۰                      |
| Visual Studio .NET 2003   | Everett | ۷٫۱         | ۱٫۱                      |
| Visual Studio .NET (2002) | Rainier | ۷٫۰         | ۱٫۰                      |
| Visual Studio 6.0         | Aspen   | ۶٫۰         | —                        |
| Visual Studio 97          | Boston  | ۵٫۰         | —                        |


### ۹۷
اولین نسخه از این نرم‌افزار سال ۱۹۹۷ به بازار آمد و به نام Visual Studio 97 مشهور شد. برای اولین‌بار برنامه‌ای درست شد که تعداد زیادی ابزار برنامه‌نویسی را در خود جا داده بود و برنامه‌هایی مانند: Visual Basic 5.0 - Visual C++ 5.0 - Visual J++ 1.1 - Visual FoxPro 5.0 - Visual InterDev را شامل می‌شد.
کاربرد هر یک از زبانهای بالا در زیر آورده شده‌است:
- Visual Basic 5.0 and Visual C++ 5.0 برای برنامه‌نویسی تحت ویندوز
- Visual J++ 1.1 برنامه‌نویسی با Syntaxهای جاوا
- Visual FoxPro 5.0 برای برنامه‌نویسی xBase (dBASE)
- Visual InterDev برای تولید صفحات دینامیکی وبگاه‌ها با استفاده از Active Server Pages
- Visual SourceSafe: بخشی از مجموعهٔ ویژوال استودیو شرکت مایکروسافت که برای انجام عملیات کنترل سرس طراحی شده‌است. این برنامهٔ اختیاری در صورت نصب، قابلیت کنترل و پی‌گیری ورژن‌های مختلف کد را به برنامه‌نویس می‌دهد که برای برنامه‌های پیچیده و به خصوص با چند برنامه‌نویس قابلیتی حیاتی است.

ویژوال سی مجموعهٔ به هم پیوسته‌ای است که تمامی زنجیرهٔ ابزار توسعهٔ برنامه را یکجا گرد آورده. زنجیرهٔ ابزار یادشده شامل ویرایشگر، کامپایلر، لینکر، ابزار میک، دیباگر و اسمبلر مخصوص ویژوال سی می‌باشد که هریک علاوه برداشتن خواص برنامه‌های قدیمی‌تر، دارای قابلیت‌های منحصر به فردی هم می‌باشند. محیط Visual C++بخشی از مجموعه‌ای بزرگ‌تر به نام Microsoft Visual Studio است.
نسخه ۹۷ همچنین MicroSoft Developer Network library یا MSDN که راهنمای کامل برنامه‌های Visual Studio مایکروسافت است را معرفی نمود.
در97 Visual Studio ابزارهای Visual C++, Visual J++, InterDev, MSDN Library همگی از یک محیط استفاده می‌کردند که Developer Studio خوانده می‌شد و Visual Basic and Visual FoxPro نیز از محیط‌های جداگانه‌ای استفاده می‌کردند.
ویژوال استودیو ۹۷ در دو نسخه Professional و Enterprise ارائه گردید.
این نسخه از ویژوال استودیو، اولین تلاش شرکت مایکروسافت در تولید محیط تولید نرم‌افزاری برای ساختن برنامه‌هایی با زبان‌های متفاوت بود. (توسعه محیط چند زبانه)
این محصول مایکروسافت در آن سال‌ها تقریباً، جوابگوی همه نوع سلیقه‌ای بود و برنامه‌نویسان زیادی را به سوی خود کشید.

### ۶٫۰ (۱۹۹۸)
یک سال پس از ارائه نسخه Visual Studio 97 (یعنی در سال ۹۸)، نسخه 6 Visual Studio به عنوان آخرین نسخه‌ای که می‌توانست در پلتفرم Win9x اجرا شود، به بازار عرضه شد.
از سال ۹۸ تا سال ۲۰۰۲ مایکروسافت نسخه جدیدی از ویژوال استودیو را معرفی نکرد و ورژن
تمام فایل‌های داخلی (File Format Internal) آن طی این ۴ سال به ورژن ۶ ارتقاء یافت که به همین دلیل Visual Studio 98 را با نام Visual Studio 6 نام گذاری نمودند.
این آخرین نسخه‌ای بود که شامل ویژوال بیسیک معروف و دوست داشتنی و ویژوال J++ بود.
نسخه‌های بعدی ویژوال بیسیک کاملاً متفاوت از نسخه کلاسیک آن شدند و جزء زبانهای دات نتی
قرار گرفتند.
اگر چه هدف دراز مدت مایکروسافت متحد کردن ابزارهای برنامه‌نویسی تحت یک محیط واحد بود ولی در حقیقت این نسخه نسبت به نسخه ویژوال استادیو ۹۷، چند محیط اضافه تر نیز داشت.
Visual J++ و Visual InterDev از محیط Visual C++ جدا شدند در حالی که Visual Basic و Visual FoxPro نیز همچنان مانند نسخه قبلی در محیط‌های جدا بودند.

### ۲۰۰۲
مایکروسافت در سال 2002 نسخه تحت .NET Framework که مقدمه‌ای بود بر محیط توسعه کدهای مدیریت شده را با نام Visual Studio 2002 .NET (codenamed "Rainier") معرفی نمود . البته نسخه Beta آن در سال 2001 بر روی Microsoft developer network ارائه شده بود . فرق این برنامه در این بود که برنامه‌هایی مانند زبان ++C مستقیماً به زبان ماشین، کامپایل نمی‌شدند و به صورت MSIL (یا CIL) در می‌آمدند. هنگامی که یک application به زبان MSIL اجرا می‌شد، در زمان اجرا به زبان ماشین متناسب با platform ای که بر روی آن در حال اجرا بود کامپایل می‌شد، که این امکان قابل انتقال بودن کد میان چندین platform را فراهم می‌کرد . برنامه‌ها به زبان MSIL کامپایل شده و می‌توانستند بر روی platform ای که بر روی آن Common Language Infrastructure پیاده‌سازی شده بود (نصب شده بود) اجرا شوند . برنامه‌ها ی ترجمه شده به MSIL امکان اجرا بر روی Linux یا Mac OS X را با استفاده از پیاده‌سازی ابزارهای مانند Mono و DotGNU که non-Microsoft .NET بودند را داشتند . Visual Studio.Net 2002 اولین نسخه از این نرم‌افزار بود که حتماً باید روی ویندوز NT اجرا می‌شد. در این نسخه، زبان قدرتمند سی‌شارپ پا به عرصه گذاشت. همچنین زبان دیگری به نام جی شارپ (#J) که از Syntaxهای جاوا استفاده می‌کرد نیز در این بسته عرضه شد. (جانشین J++ ) Visual Basic متناسب با framework جدید شدیدا تغییر کرده بود بطوری‌که version جدید آن Visual Basic .NET نامیده می‌شد . مایکروسافت همچنین به C++ الحاقاتی که Managed Extensions for C++ نامیده می‌شدند را اضافه نمود بطوری‌که برنامه نویسان C++ می‌توانستند برنامه .NET ای ایجاد نمایند . Visual Studio .NET می‌توانست برای ساخت برنامه‌های ویندوزی (با استفاده از Windows Forms که بخشی از .NetFramwork می‌باشد) یا برای ساخت برنامه‌های Web (با استفاده از ASP.NET and Web Services ) و بعلاوه برای ساخت برنامه‌های Portable Devices (با استفاده از .Net Compact Framework ) بکار گرفته شود . تمام زبانها در این نسخه به صورت متحد از یک محیط استفاده می‌کردند البته به استثنای Visual FoxPro که پس از مدتی از Visual Studio .NET جدا شده و به صورت جداگانه به فروش رسید . شماره ورژن داخلی Visual Studio .NET به 7 رسید و مایکروسافت Service Pack 1 را برای Visual Studio .NET در مارس 2005 ارائه کرد .