माइक्रोसॉफ्ट विजुअल स्टूडियो
माइक्रोसॉफ्ट विजुअल स्टूडियो, माइक्रोसॉफ्ट का एक एकीकृत विकास वातावरण (IDE) है। इसका प्रयोग विण्डोज़ फॉर्म अनुप्रयोगों, वेब साइटों, वेब अनुप्रयोगों और वेब सेवाओं के साथ ही कन्सोल और ग्राफिकल यूज़र इन्टरफेस अनुप्रयोगों को विकसित करने के लिये नेटिव कोड और प्रबंधित कोड दोनों के साथ माइक्रोसॉफ्ट विण्डोज़, विण्डोज़ मोबाइल, विण्डोज़ CE (Windows CE), .NET फ्रेमवर्क, .NET कॉम्पैक्ट फ्रेमवर्क (.NET Compact Framework) और माइक्रोसॉफ्ट सिल्वरलाइट द्वारा समर्थित सभी प्लेटफॉर्मों के लिये किया जा सकता है।
विजुअल स्टूडियो में एक कोड संपादक शामिल होता है, जो इन्टेलीसेन्स (IntelliSense) और साथ ही कोड रिफैक्टरिंग का समर्थन करता है। यह एकीकृत डीबगर स्रोत-स्तरीय डीबगर और मशीन-स्तरीय डीबगर दोनों के रूप में कार्य करता है। अन्य अंतर्निर्मित उपकरणों में GUI अनुप्रयोगों के निर्माण के लिये फॉर्म डिज़ाइनर, वेब डिज़ाइनर, क्लास डिज़ाइनर और डेटाबेस स्कीमा डिज़ाइनर शामिल हैं। यह प्लग-इन्स को स्वीकार करता है, जो स्रोत नियंत्रण तंत्रों (जैसे सबवर्जन और विजुअल सोर्ससेफ) के लिये समर्थन जोड़ने से लेकर डोमेन-विशिष्ट भाषाओं के लिये एडिटर और विजुअल डिज़ाइनर जैसे नये उपकरण-समूह जोड़ने या सॉफ्टवेयर विकास जीवन-चक्र के अन्य पहलुओं (जैसे टीम फाउंडेशन सर्वर क्लाएंट: टीम एक्सप्लोरर) तक लगभग प्रत्येक स्तर पर इसकी कार्यात्मकता में वृद्धि करते हैं।
भाषा सेवाओं के माध्यम से विजुअल स्टूडियो भाषाओं का समर्थन करता है, एक भाषा-आधारित सेवा उपलब्ध होने पर कोड संपादक और डीबगर को (विभिन्न सीमाओं तक) लगभग किसी भी प्रोग्रामिंग भाषा का समर्थन करने की अनुमति देती हैं। अंतर्निर्मित भाषाओं में C/C++ (विजुअल C++ के माध्यम से), VB.NET (Visual Basic.NET के माध्यम से) और C (विजुअल C# के माध्यम से) शामिल हैं। अन्य भाषाओं, जैसे F, M, पायथन (Python) और रूबी (Ruby) आदि, के लिये समर्थन पृथक रूप से स्थापित की जाने वाली भाषा सेवाओं के माध्यम से उपलब्ध है। यह XML/XSLT, HTML/XHTML, जावास्क्रिप्ट (JavaScript) और CSS का भी समर्थन करता है। विजुअल स्टूडियो के भाषा-आधारित संस्करण भी उपलब्ध हैं, जो प्रयोक्ताओं को अधिक सीमित भाषा सेवाएं प्रदान करते हैं। इन स्वतंत्र पैकेजों को माइक्रोसॉफ्ट विजुअल बेसिक, विजुअल J#, विजुअल C# और विजुअल C++ कहा जाता है।
माइक्रोसॉफ्ट अपने विजुअल स्टूडियो 2008 के विजुअल बेसिक, विजुअल C#, विजुअल C++ और विजुअल वेब डेवलपर घटकों के "एक्सप्रेस" संस्करण बिना किसी लागत के प्रदान करता है। विजुअल स्टूडियो 2005 के भाषा-आधारित संस्करणों (विजुअल बेसिक, C++, C#, J#) के साथ ही विजुअल स्टूडियो 2008 और 2005 के व्यावसायिक संस्करण माइक्रोसॉफ्ट ड्रीमस्पार्क (Microsoft DreamSpark) कार्यक्रम के माध्यम से विद्यार्थियों के लिये मुफ्त डाउनलोड के रूप में उपलब्ध हैं। विजुअल स्टूडियो 2010 अभी रिलीज़ उम्मीदवार है और इसे आम लोगों द्वारा मुफ्त में डाउनलोड किया जा सकता है।
अंतस्थ रूप से विजुअल स्टूडियो किसी भी प्रोग्रामिंग भाषा, समाधान या उपकरण का समर्थन नहीं करता है। इसकी बजाय, यह विभिन्न कार्यात्मकता को जोड़ने की अनुमति देता है। विशिष्ट कार्यात्मकता एक VSPackage के रूप में कोडित की जाती है। स्थापित हो जाने पर, यह कार्यात्मकता एक "सेवा" के रूप में उपलब्ध होती है। IDE तीन सेवायें प्रदान करता है: SVsSolution, जो कि परियोजनाओं और समाधानों की गणना करने की क्षमता प्रदान करती है; SVsUIShell, जो विण्डोइंग और UI कार्यात्मकता (टैब्स, टूलबार्स और विण्डोज़ सहित) प्रदान करती है; और SVsShell, जो VSPackage के पंजीयन का कार्य संभालती है। इसके अतिरिक्त, IDE सेवाओं के बीच संवाद का तालमेल करने और इसे सक्षम बनाने के लिये भी उत्तरदायी होता है। सभी संपादक, डिज़ाइनर, परियोजना प्रकार और अन्य उपकरण VSPackages के रूप में क्रियान्वित किये जाते हैं। VSPackages के अभिगमन के लिये विजुअल स्टूडियो COM का प्रयोग करता है। विजुअल स्टूडियो के SDK में "मैनेज्ड पैकेज फ्रेमवर्क" ("MPF") भी शामिल होता है, जो कि COM-इंटरफेसों के आस-पास प्रबंधित रैपर्स का एक ऐसा समुच्चय है, जो पैकेज को किसी भी CLI अनुवर्ती भाषा में लिखे जाने की अनुमति देता है। हालांकि, MPF विजुअल स्टूडियो COM इंटरफेस द्वारा उजागर की जाने वाली सारी कार्यात्मकता प्रदान नहीं करता. इसके बाद सेवाओं का प्रयोग विजुअल स्टूडियो IDE में कार्यात्मकता जोड़नेवाले अन्य पैकेजों में से किसी के भी निर्माण के लिये किया जा सकता है।
प्रोग्रामिंग भाषाओं के लिये समर्थन को "लैंग्वेज सर्विस (Language Service)" नामक एक विशिष्ट VSPackage का प्रयोग करके जोड़ा जाता है। एक भाषा सेवा विभिन्न इंटरफेस परिभाषित करती है, जिसे VSPackage क्रियान्वयन विविध कार्यात्मकता के लिये समर्थन जोड़ने हेतु क्रियान्वित कर सकता है। इस प्रकार जोड़ी जा सकनेवाली कार्यात्मकता में पृष्ठभूमि संकलन (Background Compilation) के लिये सिन्टैक्स कलरिंग, कथन निष्पत्ति, धनुकोष्ठक मिलान, पैरामीटर सूचना टूलटिप, सदस्य सूचियां और त्रुटि चिह्नक शामिल होते हैं। यदि यह इंटरफेस क्रियान्वित किया जाता है, तो कार्यात्मकता उस भाषा के लिये उपलब्ध होगी। भाषा सेवाएं प्रति-भाषा आधार पर क्रियान्वित की जानी होती हैं। यह क्रियान्वयन उस भाषा के लिये पार्सर या कम्पाइलर से कोड का पुनर्प्रयोग कर सकता है। भाषा सेवाएं मूल कोड या प्रबंधित कोड में क्रियान्वित की जा सकती हैं। मूल कोड के लिये मूल COM इंटरफेस या बैबेल फ्रेमवर्क (विजुअल स्टूडियो SDK का एक भाग) का प्रयोग किया जा सकता है। प्रबंधित कोड के लिये MPF में प्रबंधित भाषा सेवाओं को लिखने हेतु रैपर्स शामिल होते हैं।
स्रोत नियंत्रण के लिये विजुअल स्टूडियो में कोई अंतर्निर्मित समर्थन शामिल नहीं होता, लेकिन वह इस आधार पर "MSSCCI" (माइक्रोसॉफ्ट सोर्स कोड कण्ट्रोल इंटरफेस) को परिभाषित करता है कि कौन-सा स्रोत नियंत्रण तंत्र IDE के साथ एकीकृत हो सकता है। MSSCCI फंक्शन्स का एक समूह परिभाषित करता है, जिनका प्रयोग विभिन्न स्रोत नियंत्रण कार्यात्मकताओं को क्रियान्वित करने के लिये किया जाता है। MSSCCI को पहली बार विजुअल सोर्ससेफ (Visual SourceSafe) को विजुअल स्टूडियो 6.0 के साथ एकीकृत करने के लिये प्रयोग किया गया था, लेकिन बाद में इसे विजुअल स्टूडियो SDK के माध्यम से शुरु किया गया। विजुअल स्टु्डियो .NET 2002 ने MSSCCI 1.1 का प्रयोग किया और विजुअल स्टूडियो .NET 2003 ने MSSCCI 1.2 का प्रयोग किया। विजुअल स्टूडियो 2005 और 2008 दोनों MSSCCI संस्करण 1.3 का प्रयोग करते हैं, जो पुनःनामकरण और विलोप संचरण के साथ ही अतुल्यकालिक प्रारंभीकरण के लिये समर्थन भी जोड़ता है।
विजुअल स्टूडियो वातावरण के अनेक इन्स्टन्स (जिनमें से प्रत्येक के पास VSPackages का अपना समुच्चय होता है) क्रियान्वित करने का सम्रर्थन करता है। ये इन्सटन्स विभिन्न रजिस्ट्री हाइव्स ("रजिस्ट्री हाइव " को जिस अर्थ में प्रयोग किया गया है, उसे जानने के लिये MSDN की इस शब्दावली की परिभाषा देखें) का प्रयोग उनकी विन्यास अवस्थाओं के भण्डारण के लिये करते हैं और उन्हें उनके AppID (अनुप्रयोग ID) द्वारा पहचाना जाता है। ये इन्स्टन्स एक AppId-specific .exe द्वारा प्रारंभ किये जाते हैं, जो एक AppId का चुनाव करता है, रूट हाइव को सेट करता है और IDE को प्रारंभ करता है। एक AppId के लिये पंजीकृत किये गये VSPackages को उस AppId के लिये अन्य VSPackages के साथ एकीकृत किया जाता है। विभिन्न AppIds का प्रयोग करके विजुअल स्टूडियो के विजुअल स्टूडियो एक्सप्रेस उत्पाद संस्करण बनाये जाते हैं। विजुअल स्टूडियो एक्सप्रेस संस्करण उत्पाद अपने स्वयं के AppId के साथ इन्स्टॉल किये जाते हैं, लेकिन स्टैण्डर्ड, प्रोफेशनल और टीम स्वीट उत्पाद एक ही AppId को साझा करते हैं। फलस्वरूप, अन्य संस्करणों, जो पिछले इन्स्टॉलेशन को ही अद्यतन करते हैं, के विपरीत एक्स्प्रेस संस्करण को अन्य संस्करणों के साथ समानांतर रूप से इन्स्टॉल किया जा सकता है। प्रोफेशनल संस्करण में स्टैण्डर्ड संस्करण के VSPackages का एक मुख्य-समुच्चय (Super-Set) और टीम स्वीट में अन्य दोनों संस्करणों के VSPackages का मुख्य-समुच्चय शामिल होता है। AppId तंत्र विजुअल स्टूडियो 2008 में विजुअल स्टूडियो शेल का लाभ उठाता है।
किसी भी अन्य [[IDE]] की तरह विजुअल स्टूडियो में भी एक कोड संपादक शामिल होता है, जिसमें इन्टेलीसेन्स का प्रयोग करके न केवल वेरियेबल्स, फंक्शन्स और मेथड्स के लिये, बल्कि भाषा के निर्माण खण्डों, जैसे लूप्स और क्वेरीज़, के लिये भी सिन्टैक्स हाइलाइटिंग और कोड पूर्णता के लिये समर्थन शामिल होता है। इसमें शामिल की गई भाषाओं और साथ ही XML के लिये और वेब साइटों तथा वेब अनुप्रयोगों का विकास करते समय कास्केडिंग स्टाइल शीट और जावास्क्रिप्ट के लिये भी इन्टेलीसेन्स का समर्थन प्रदान किया जाता है। ऑटोकम्पलीट सुझाव एक मोडविहीन लिस्ट बॉक्स में पॉप-अप होते हैं, जो कि कोड एडीटर के शीर्ष पर अच्छादित होता है। विजुअल स्टूडियो 2008 और इससे बाद वाले संस्करणों में इसे अस्थाई रूप से अर्ध-पारदर्शी बनाया जा सकता है, ताकि इसके द्वारा बाधित कोड को देखा जा सके। कोड संपादक का प्रयोग सभी समर्थित भाषाओं के लिये किया जा सकता है।
विजुअल स्टूडियो कोड संपादक शीघ्र संचालन के लिये कोड में बुकमार्क रितेश सेट करने का भी समर्थन करता है। अन्य संचालनात्मक सहायताओं में सामान्य टेक्स्ट खोज और रेगेक्स खोज के साथ ही कोड ब्लॉक्स और वृद्धिशील खोज शामिल होते हैं। कोड संपादक में एक बहु-वस्तु क्लिपबोर्ड और एक कार्य-सूची भी शामिल होती है। कोड संपादक कोड-खण्डों का भी समर्थन करता है, जो दोहरावपूर्ण कोड के लिये संचित टेम्पलेट होते हैं और जिस परियोजना पर कार्य किया जा रहा हो, उसमें इन्हें प्रविष्ट और कस्टमाइज़ किया जा सकता है। कोड खण्डों के लिये एक प्रबंधन उपकरण भी अंतर्निर्मित होता है। ये उपकरण तैरती हुई विण्डोज़ के रूप में प्रदर्शित होते हैं, जिन्हें प्रयोग न किये जाने या स्क्रीन के बाजू में रख दिये जाने पर स्वचालित रूप से छिप जाने हेतु सेट किया जा सकता है। विजुअल स्टूडियो का कोड संपादक पैरामीटर रिकॉर्डिंग, वेरियेबल और मेथड पुनर्नामकरण, इन्टरफेस उद्धरण और प्रापर्टीज़ के भीतर क्लास के सदस्यों के एन्कैप्स्युलेशन सहित अन्य कोड रिफैक्टरिंग का समर्थन भी करता है।
विजुअल स्टूडियो बैकग्राउण्ड कम्पाइलेशन (जिसे वृद्धिशील कम्पाइलेशन भी कहा जाता है) का समर्थन करता है। जब कोड लिखा जा रहा हो, तो विजुअल स्टूडियो इसे पृष्ठभूमि में कम्पाइल करता है ताकि सिन्टैक्स और कम्पाइलेशन त्रुटियों, जिन्हें लाल लहरदार अधोरेखा के द्वारा चिह्नित किया जाता है, के बारे में फीडबैक दिया जा सके। चेतावनियों को एक हरी अधोरेखा के द्वारा चिह्नित किया जाता है। बैकग्राउण्ड कम्पाइलेशन क्रियान्वयन-योग्य कोड उत्पन्न नहीं करता क्योंकि इसके लिये क्रियान्वयन-योग्य कोड के लिये प्रयुक्त कम्पाइलर से भिन्न एक कम्पाइलर की आवश्यकता होती है। बैकग्राउण्ड कम्पाइलेशन सबसे पहले माइक्रोसॉफ्ट विजुअल बेसिक में प्रस्तुत किया गया था, लेकिन अब इसे सभी सम्मिलित भाषाओं के लिये विस्तारित किया जा चुका है।
विजुअल स्टूडियो में एक डीबगर शामिल होता है, जो स्रोत-स्तरीय डीबगर और मशीन-स्तरीय डीबगर दोनों के रूप में कार्य कर सकता है। यह प्रबंधित कोड और मूल कोड दोनों के साथ कार्य करता है और इसका प्रयोग विजुअल स्टूडियो द्वारा समर्थित किसी भी भाषा में लिखे अनुप्रयोगों की डीबगिंग के लिये किया जा सकता है। इसके अतिरिक्त, इसे वर्तमान में क्रियान्वित हो रही प्रक्रियाओं के साथ जोड़ा जा सकता है, ताकि इनका निरीक्षण करके इन्हें डीबग किया जा सके। यदि क्रियान्वित हो रही प्रक्रिया के लिये स्रोत कोड उपलब्ध हो, तो क्रियान्वयन के साथ ही यह कोड को प्रदर्शित करता है। यदि स्रोत कोड उपलब्ध न हो, तो यह डिसअसेम्बली को प्रदर्शित कर सकता है। विजुअल स्टूडियो डीबगर अनेक मेमोरी डम्प बना सकता है और साथ ही उन्हें बाद में डीबगिंग के लिये लोड भी कर सकता है। बहु-सूत्रित (Multi-threaded) प्रोग्राम्स का समर्थन भी किया जाता है। डीबगर को विजुअल स्टूडियो के बाहर क्रियान्वित हो रहे किसी अनुप्रयोग के विफल होने पर प्रारंभ किये जाने के लिये भी विन्यासित किया जा सकता है। डीबगर ब्रेकपॉइन्ट्स (जो किसी विशिष्ट बिंदु पर क्रियान्वयन को अस्थाई रूप से रोकने की अनुमति देते हैं) और वॉचेस (जो क्रियान्वयन की प्रगति के साथ वेरियेबल्स के मानों का निरीक्षण करते हैं) को सेट करने की भी अनुमति देता है। ब्रेकपॉइन्ट्स शर्त पर आधारित हो सकते हैं, जिसका अर्थ है कि वे उस समय प्रारंभ होते हैं, जब कोई शर्त पूर्ण होती है। कोड को क्रमशः, अर्थात एक बार में एक पंक्ति (स्रोत कोड की), पर आगे बढ़ाया जा सकता है। यह फंक्शन्स को डीबग करने के लिये इनके "भीतर प्रविष्ट (step into)" हो सकता है या यदि मानवीय निरीक्षण के लिये फंक्शन बॉडी उपलब्ध न हो, तो वह इसे "छोड़कर (step over)" आगे भी बढ़ सकता है। डीबगर "एडिट एंड कन्टिन्यू (Edit and Continue)" का समर्थन करता है, अर्थात यह कोड को डीबग होते समय ही संपादित किये जाने (केवल 32 बिट के लिये; 64 बिट में समर्थित नहीं) का समर्थन भी करता है। डीबगिंग करते समय, यदि किसी भी वेरियेबल पर माउस सूचक ले जाया जाए, तो इसका वर्तमान मान एक टूलटिप ("डेटा टूलटिप") में प्रदर्शित होता है, जहां इसे इच्छानुसार संशोधित भी किया जा सकता है। कोडिंग के दौरान, विजुअल स्टूडियो डीबगर विशिष्ट कार्यात्मकताओं को codice_1 उपकरण विण्डो से मानवीय रूप से शुरु करने की अनुमति देता है। मेथड के लिये पैरामीटर इमीडियेट विण्डो पर भेजे जाते हैं।
अनुप्रयोगों के विकास में सहायता प्रदान करने के लिये विजुअल स्टूडियो में एक विजुअल डिज़ाइनर शामिल होता है। इन उपकरणों में शामिल हैं:विजुअल स्टूडियो विकासकर्ताओं को इसकी क्षमताओं को बढ़ाने हेतु विजुअल स्टूडियो के लिये विस्तारणों को लिखने की अनुमति देता है। ये विस्तारण विजुअल बेसिक में "प्लग-इन" हो जाते हैं और इसकी कार्यात्मकता को बढ़ाते हैं। विस्तारण "मैक्रोज़", "ऐड-इन्स" और "पैकेजों" के रूप में आते हैं। मैक्रोज़ दोहरावपूर्ण कार्यों और गतिविधियों का प्रतिनिधित्व करते हैं, जिन्हें विकासकर्ता भण्डारण, पुनर्प्रयोग और वितरण के लिये प्रोग्रामेटिक रूप से रिकॉर्ड कर सकता है। हालांकि मैक्रोज़ का प्रयोग नई कमाण्ड्स को क्रियान्वित करने या टूल विण्डो का निर्माण करने के लिये नहीं किया जा सकता. वे विजुअल बेसिक का प्रयोग करके लिखे जाते हैं और उन्हें कम्पाइल नहीं किया जाता. ऐड-इन्स विजुअल स्टूडियो ऑब्जेक्ट मॉडल तक अभिगम प्रदान करते हैं और IDE उपकरणों के साथ अंत:क्रिया कर सकते हैं। ऐड-इन्स का प्रयोग नई कार्यात्मकता जोड़ने के लिये किया जा सकता है और ये नई टूल विण्डो जोड़ सकते हैं। ऐड-इन्स को IDE में COM के माध्यम से जोड़ा जाता है और ये किसी भी COM-संगत भाषा में बनाए जा सकते हैं। पैकेज विजुअल स्टूडियो SDK का प्रयोग करके बनाए जाते हैं और वे वितान्यता का उच्चतम स्तर प्रदान करते हैं। इसका प्रयोग डिज़ाइनर्स और अन्य उपकरणों का निर्माण करने और साथ ही अन्य प्रोग्रामिंग भाषाओं को एकीकृत करने के लिये किया जाता है। विजुअल स्टूडियो SDK किसी कार्य को पूर्ण करने के लिये अप्रबंधित और प्रबंधित दोनों API प्रदान करता है। हालांकि प्रबंधित API अप्रबंधित API जितना व्यापक नहीं होता। विस्तारणों का समर्थन विजुअल स्टूडियो 2005 के स्टैण्डर्ड (और उच्च) संस्करणों में किया जाता है। एक्सप्रेस संस्करण विस्तारणों की होस्टिंग का समर्थन नहीं करते.
विजुअल स्टूडियो 2008 ने विजुअल स्टूडियो शेल प्रस्तुत किया, जो IDE को अपनी रुचि के अनुसार निर्मित करने की अनुमति देता है। विजुअल स्टूडियो शेल VSPackages का एक शेल प्रदान करता है, जो किसी भी IDE के लिये आवश्यक कार्यात्मकता प्रदान करता है। इन्स्टॉलेशन को अपनी रुचि के अनुसार परिवर्तित करने के लिये उसके शीर्ष पर अन्य पैकेज जोड़े जा सकते हैं। जहां पैकेजों को इन्स्टॉल किया गया हो, वहां शेल का पृथक्कृत मोड एक नया AppId बनाता है। इन्हें एक भिन्न एक्ज़ीक्यूटेबल के साथ प्रारंभ करना होता है। यह किसी विशिष्ट भाषा या विशिष्ट परिदृश्य के लिये रुचि के अनुसार विकसित किये गये विकास वातावरणों के विकास पर लक्ष्यित होता है। एकीकृत मोड पैकेज को प्रोफेशनल/स्टैण्डर्ड/टीम सिस्टम संस्करणों में इन्स्टॉल करता है, ताकि उपकरणों को इन संस्करणों में एकीकृत किया जा सके। विजुअल स्टूडियो शेल एक मुफ्त डाउनलोड के रूप में उपलब्ध है।
विजुअल स्टूडियो 2008 की रिलीज़ के बाद, माइक्रोसॉफ्ट ने विजुअल स्टूडियो गैलरी का निर्माण किया। यह विजुअल स्टूडियो को विस्तारणों के बारे में सूचनाएं डालने के लिये एक केंद्रीय स्थान के रूप में कार्य करती है। समुदाय विकासकर्ता और साथ ही वाणिज्यिक विकासकर्ता विजुअल स्टूडियो 2002 से लेकर विजुअल स्टूडियो 2008 तक के उनके विस्तारणों के बारे में सूचना अपलोड कर सकते हैं। विस्तारणों को जोड़े जाने के दौरान इनकी गुणवत्ता के मूल्यांकन में सहायता प्रदान करने के लिये साइट के प्रयोक्ता विस्तारणों को रेटिंग दे सकते हैं और इनकी समीक्षा कर सकते हैं। RSS फीड्स प्रयोक्ताओं को साइट पर होने वाले अद्यतनों की सूचना देते हैं और टैगिंग विशेषताएं भी नियोजित होती हैं।
माइक्रोसॉफ्ट विजुअल स्टूडियो निम्नलिखित संस्करणों में उपलब्ध है:
माइक्रोसॉफ्ट ने पहली बार अपने अनेक प्रोग्रामिंग उपकरणों को एक साथ जोड़कर विजुअल स्टूडियो को सबसे पहले 1997 में रिलीज़ किया। विजुअल स्टूडियो 97 को दो संस्करणों, प्रोफेशनल और एन्टरप्राइज़, में रिलीज़ किया गया था। इसमें विजुअल बेसिक 5.0 और विजुअल C++ 5.0, मुख्यतः विण्डोज़ प्रोग्रामिंग के लिये; विजुअल J++ 1.1, जावा तथा विण्डोज़ प्रोग्रामिंग के लिये; और विजुअल फॉक्सप्रो 5.0, डेटाबेस के लिये, विशिष्ट रूप से xBase प्रोग्रामिंग के लिये, को शामिल किया गया था। एक्टिव सर्वर पेजेस का प्रयोग करके गतिशील रूप से उत्पन्न वेब साइटों का निर्माण करने के लिये इसमें विजुअल इन्टरडेव को प्रस्तुत किया गया था। इसमें माइक्रोसॉफ्ट डेवलपर नेटवर्क लाइब्रेरी का एक स्नैपशॉट भी शामिल किया गया था।
विजुअल स्टूडियो 97 अनेक भाषाओं के लिये एक ही विकास वातावरण का प्रयोग करने का माइक्रोसॉफ्ट (Microsoft) का पहला प्रयास था। विजुअल C++, विजुअल J++, इन्टरडेव और MSDN लाइब्रेरी, सभी एक ही वातावरण का प्रयोग करते थे, जिसे डेवलपर स्टूडियो कहा जाता था। विजुअल बेसिक और विजुअल फॉक्सप्रो के लिये भिन्न वातावरणों का प्रयोग किया जाता था।
अगला संस्करण, संस्करण 6.0, जून 1998 में रिलीज़ किया गया और यह विण्डोज़ 9x प्लैटफॉर्म पर क्रियान्वित होने वाला अंतिम संस्करण है। इसके सभी घटक भागों की संस्करण संख्याओं को 6.0 कर दिया गया, जिसमें विजुअल J++, जिसे 1.1 से बदला गया और विजुअल इन्टरडेव (Visual InterDev), जो 1.0 पर था, भी शामिल हैं। यह संस्करण अगले चार वर्षों तक माइक्रोसॉफ्ट के विकास तंत्र का आधार था, क्योंकि उसके बाद माइक्रोसॉफ्ट ने उनका विकास .NET पर केंद्रित कर दिया।
विजुअल स्टूडियो 6.0 विजुअल बेसिक के COM-आधारित संस्करण को शामिल करनेवाला अंतिम संस्करण था; बाद वाले संस्करणों में इस भाषा के .NET आधारित संस्करणों को शामिल किया जाना था। यह विजुअल J++ को शामिल करने वाला अंतिम संस्करण भी था, जिसे सन माइक्रोसिस्टम्स (Sun Microsystems) के साथ एक समझौते के बाद हटा दिया गया, जिसके कारण माइक्रोसॉफ्ट (Microsoft) को जावा वर्चुअल मशीन पर लक्ष्यित प्रोग्रामिंग उपकरणों का उत्पादन रोक देना पड़ा.
विजुअल बेसिक, विजुअल C++ और विजुअल फॉक्सप्रो के पास पृथक IDEs थे, जबकि विजुअल J++ और विजुअल इन्टरडेव एक आम नए वातावरण को साझा करते थे। यह नया IDE वितान्यता का ध्यान रखते हुए बनाया गया था और विजुअल स्टूडियो .NET की रिलीज़ के साथ ही यह (विभिन्न आंतरिक दोहरावों के बाद) सभी भाषाओं के लिये एक आम वातावरण बननेवाला था। विजुअल स्टूडियो 6.0 विजुअल फॉक्सप्रो को शामिल करनेवाला अंतिम संस्करण भी था।
हमेशा की तरह, विजुअल बेसिक 6.0 को अनेक संस्करणों में प्रस्तुत किया गया: स्टैण्डर्ड, प्रोफेशनल और एन्टरप्राइज़. एन्टरप्राइज़ संस्करण में कुछ अतिरिक्त विशेषताएं शामिल हैं, जो स्टैण्डर्ड या प्रोफेशनल संस्करण में नहीं पाईं जातीं, जिनमें शामिल हैं:
माइक्रोसॉफ्ट ने विजुअल स्टूडियो .NET, जिसका कोडनाम "रेनियर" (वॉशिंगटन के माउन्ट रेनियर के नाम पर) रखा गया था, को फरवरी 2002 में रिलीज़ किया (बीटा संस्करण को माइक्रोसॉफ्ट डेवलपर नेटवर्क के माध्यम से 2001 में रिलीज़ किया गया था). .NET का प्रयोग करके एक प्रबंधित कोड विकास वातावरण की प्रस्तुति इसका सबसे बड़ा परिवर्तन था। .NET का प्रयोग करके विकसित किये गये प्रोग्राम्स को मशीनी भाषा (उदा. जैसी C++ है) में नहीं, बल्कि माइक्रोसॉफ्ट इन्टरमीडिएट लैंग्वेज (MSIL) या कॉमन इन्टरमीडिएट लैंग्वेज (CIL) में कम्पाइल किया जाता है। जब किसी MSIL अनुप्रयोग को क्रियान्वित किया जाता है, तो यह जिस प्लैटफॉर्म पर क्रियान्वित किया जा रहा हो, उसके अनुसार उपयुक्त मशीनी भाषा में इसे क्रियान्वयन के दौरान ही कम्पाइल किया जाता है, जिससे कोड विभिन्न प्लैटफॉर्मों के बीच सुवाह्य हो जाता है। MSIL में कम्पाइल किये गये प्रोग्राम्स को केवल उन प्लैटफॉर्मों पर क्रियान्वित किया जा सकता है, जिन पर कॉमन लैंग्वेज इन्फ्रास्ट्रक्चर को लागू किया गया हो। गैर-माइक्रोसॉफ्ट .NET क्रियान्वयन, जैसे मोनो और DotGNU का प्रयोग करके MSIL प्रोग्राम्स को लिनक्स या मैक OS X पर चला पाना संभव है।
यह विजुअल स्टूडियो का पहला संस्करण था, जिसमें NT-आधारित विण्डोज़ प्लैटफॉर्म की आवश्यकता थी। इन्स्टॉलर इस आवश्यकता को प्रवर्तित करता है।
विजुअल स्टूडियो .NET चार संस्करणों में प्रस्तुत किया गया: एकाडमिक, प्रोफेशनल, एन्टरप्राइज़ डेवलपर और एन्टरप्राइज़ आर्किटेक्ट. माइक्रोसॉफ्ट ने C (C-शार्प), एक नई भाषा, जो .NET पर लक्ष्यित है, प्रस्तुत की। इसने विजुअल J++ का उत्तराधिकारी भी प्रस्तुत किया, जिसे विजुअल J# कहा जाता है। विजुअल J# प्रोग्राम्स जावा के भाषा नियमों का प्रयोग करते हैं। हालांकि विजुअल J++ प्रोग्राम्स के विपरीत, विजुअल J# प्रोग्राम्स केवल .NET फ्रेमवर्क पर लक्ष्यित हो सकते हैं, न कि जावा वर्चुअल मशीन पर, जिस पर अन्य सभी जावा उपकरण लक्ष्यित होते हैं।
विजुअल बेसिक को पूरी तरह परिवर्तित किया गया था, ताकि इसे इस नये फ्रेमवर्क में समाहित किया जा सके और इस नये संस्करण को विजुअल बेसिक .NET नाम दिया गया। माइक्रोसॉफ्ट ने C++ में भी विस्तारण जोड़ा, जिसे C++ के लिये प्रबंधित विस्तारण कहा जाता है, ताकि C++ प्रोग्रामर्स .NET प्रोग्राम्स का निर्माण कर सकें.
विजुअल स्टूडियो .NET का प्रयोग विण्डोज़ (विण्डोज़ फॉर्म्स, .NET फ्रेमवर्क का एक भाग, का प्रयोग करके) वेब (ASP.NET और वेब सेवाओं) और, एक ऐड-इन के साथ, सुवाह्य उपकरणों (.NET कॉम्पैक्ट फ्रेमवर्क का प्रयोग करके) पर लक्ष्यित अनुप्रयोगों के निर्माण के लिये किया जा सकता है।
विजुअल स्टूडियो .NET वातावरण को आंशिक रूप से .NET का प्रयोग करने के लिये पुनर्लेखित किया गया। सभी भाषाओं को एक ही वातावरण के अंतर्गत एकीकृत किया गया था। विजुअल स्टूडियो के पिछले संस्करणों की तुलना में, इसका एक अधिक स्पष्ट इन्टरफेस और उच्चतर संगतता है। उपकरण विण्डोज़, जो प्रयोग न किये जाने पर स्वचालित रूप से छिप जाती हैं, के साथ इसे अपनी रुचि के अनुसार परिवर्तित कर पाना अधिक संभव है। हालांकि विजुअल फॉक्सप्रो 7 को विजुअल स्टूडियो 7 के एक भाग के रूप में शुरु किया गया था और प्रारंभिक VS बीटा संस्करण VFP-आधारित DLLs के भीतर डीबगिंग की अनुमति देते थे, लेकिन रिलीज़ से पूर्व ही इसके अपने विकास मार्ग का पालन करने के लिये इसे हटा दिया गया।
विजुअल स्टूडियो .NET की आंतरिक संस्करण संख्या संस्करण 7.0 है। माइक्रोसॉफ्ट ने विजुअल स्टूडियो .NET 2002 के लिये सर्विस पैक 1 को मार्च, 2005 में रिलीज़ किया।
अप्रैल 2003 में, माइक्रोसॉफ्ट ने विजुअल स्टूडियो .NET का एक छोटा अपग्रेड, विजुअल स्टूडियो .NET 2003, प्रस्तुत किया, जिसका कोड-नाम "एवरेट" (इसी नाम के एक शहर के नाम पर) था। इसमें .NET फ्रेमवर्क, संस्करण 1.1, के लिये एक अपग्रेड शामिल है और यह ASP.NET या .NET कॉम्पैक्ट फ्रेमवर्क का प्रयोग करके मोबाइल उपकरणों के लिये प्रोग्राम्स के विकास का समर्थन करनेवाली पहली रिलीज़ है। विजुअल C++ कम्पाइलर की मानक-संगतता को, विशेषतः आंशिक टेम्पलेट विशेषीकरण के क्षेत्र में, सुधारा गया। विजुअल C++ टूलकिट 2003 IDE के बिना विजुअल स्टूडियो 2003 के साथ आने वाले C++ कम्पाइलर का ही एक मुक्त संस्करण है, हालांकि अब यह उपलब्ध नहीं है और एक्सप्रेस संस्करणों द्वारा इसका स्थान ले लिया गया है। विजुअल स्टूडियो .NET 2003 की आंतरिक संस्करण संख्या 7.1 है, जबकि फाइल प्रारूप संख्या 8.0 है।
विजुअल स्टूडियो .NET 2003 को चार संस्करणों में प्रस्तुत किया गया: एकाडमिक, प्रोफेशनल, एन्टरप्राइज़ डेवलपर और एन्टरप्राइज़ आर्किटेक्ट. विजुअल स्टूडियो .NET 2003 एन्टरप्राइज़ संस्करण में माइक्रोसॉफ्ट विज़ियो (Microsoft Visio) 2002 मॉडलिंग प्रौद्योगिकियों का एक क्रियान्वयन शामिल है, जिसमें एक अनुप्रयोग संरचना के एक एकीकृत मॉडलिंग भाषा-आधारित दृश्य प्रदर्शन और एक शक्तिशाली ऑब्जेक्ट-रोल मॉडलिंग (ORM) तथा एक तार्किक डेटाबेस मॉडलिंग समाधान का निर्माण करने के लिये उपकरण शामिल हैं। "एन्टरप्राइज़ टेम्पलेट्स" भी प्रस्तुत किये गये, जो कोडिंग शैलियों को मानकीकृत करने और घटक प्रयोग और प्रॉपर्टी सेटिंग्स से जुड़ी नीतियां लागू करने में बड़े अनुप्रयोग समूहों की सहायता करते हैं।
सर्विस पैक 1 को 13 सितंबर 2006 को रिलीज़ किया गया।
विजुअल स्टूडियो 2005, जिसका कोड-नाम "व्हिडबे" (पुगेट साउण्ड में व्हिटबे आइलैण्ड का एक सन्दर्भ) था, को अक्टूबर 2005 में ऑनलाइन तथा कुछ सप्ताहों बाद खुदरा दुकानों में रिलीज़ किया गया। माइक्रोसॉफ्ट ने विजुअल स्टूडियो 2005 (साथ ही साथ .NET नाम वाले प्रत्येक अन्य उत्पाद) से ".NET" उपनाम को हटा दिया, लेकिन अभी भी यह मुख्यतः .NET फ्रेमवर्क पर लक्ष्यित है, जिसे संस्करण 2.2 में अद्यतन किया गया था। यह विण्डोज़ 2000 के लिये उपलब्ध अंतिम संस्करण है। विजुअल स्टूडियो 2005 की आंतरिक संस्करण संख्या 8.0 है, जबकि फाइल प्रारूप संस्करण 9.0 है। 14 दिसम्बर 2006 को माइक्रोसॉफ्ट ने विजुअल स्टूडियो 2005 के लिये सर्विस पैक 1 रिलीज़ किया। सर्विस पैक 1 के लिये एक अतिरिक्त अपडेट, जो विण्डोज़ विस्टा संगतता प्रस्तुत करता है, को 3 जून 2007 को उपलब्ध कराया गया था।
विजुअल स्टूडियो 2005 को। NET फ्रेमवर्क 2.0 में प्रस्तुत सभी विशेषताओं, जेनरिक्स और ASP.NET 2.0 सहित, का समर्थन करने के लिये अपग्रेड किया गया था। विजुअल स्टूडियो की इन्टेलीसेन्स (IntelliSense) विशेषता को जेनरिक्स के लिये अपग्रेड किया गया और ASP.NET वेब सेवाओं का समर्थन करने के लिये नये परियोजना प्रकार जोड़े गये। विजुअल स्टूडियो 2005 में एक स्थानीय वेब सर्वर, IIS से पृथक, भी शामिल था, जिसका प्रयोग विकास और परीक्षण के दौरान ASP.NET अनुप्रयोगों को रखने के लिये किया जा सकता है। यह SQL सर्वर 2005 के सभी डेटाबेसों का भी समर्थन करता है। डेटाबेस डिज़ाइनर्स को ADO.NET 2.0 का समर्थन करने के लिये अपग्रेड किया गया था, जिसे .NET फ्रेमवर्क 2.0 के साथ शामिल किया गया है। C++/CLI के जुड़ने के साथ ही C++ को भी इसी प्रकार का एक अपग्रेड प्राप्त हुआ, जिसे प्रबंधित C++ को प्रतिस्थापित करने के लिये बनाया गया है। विजुअल स्टूडियो 2005 की अन्य नई विशेषताओं में "डिप्लॉयमेंट डिज़ाइनर", जो डिप्लॉयमेंट से पूर्व अनुप्रयोग डिज़ाइनों के प्रमाणीकरण की अनुमति देता है, ASP.NET 2.0 के साथ संयोजित किये जाने पर वेब प्रकाशन के लिये एक सुधारित वातावरण और प्रयोक्ता भारों के अंतर्गत विभिन्न प्रकारों के अंतर्गर अनुप्रयोग का प्रदर्शन देखने के लिये भार परीक्षण शामिल हैं। विजुअल स्टूडियो 2005 में एक गहन 64-बिट समर्थन भी जोड़ा गया है। हालांकि, विकास वातावरण स्वतः ही केवल 32-बिट अनुप्रयोग के साथ उपलब्ध है, लेकिन विजुअल C++ 2005, x86-64 (AMD64 और इन्टेल 64) तथा साथ ही IA-64 (इटैनियम) के लिये कम्पाइलिंग का समर्थन करती है। प्लैटफॉर्म SDK में 64-बिट कम्पाइलर्स और लाइब्ररियों के 64-बिट संस्करण शामिल हैं।
माइक्रोसॉफ्ट ने विजुअल बेसिक फॉर एप्लीकेशन्स (VBA) और VSA (विजुअल स्टूडियो फॉर एप्लीकेशन्स) के उत्तराधिकारी के रूप में विजुअल स्टूडियो फॉर एप्लीकेशन्स की घोषणा की। VSTA 1.0 को ऑफिस 2007 के साथ ही उत्पादन के लिये रिलीज़ किया गया। इसे ऑफिस 2007 के साथ शामिल किया गया है और यह विजुअल स्टूडियो 2005 SDK का भी एक भाग है। VSTA एक संशोधित IDE, विजुअल स्टूडियो 2005 IDE पर आधारित और एक रनटाइम, जिसे इसकी विशेषताओं को उजागर करने के लिये। NET ऑब्जेक्ट मॉडल के माध्यम से अनुप्रयोगों में जोड़ा जा सकता है, से मिलकर बनता है। ऑफिस 2007 अनुप्रयोगों के VBA के साथ एकीकरण को जारी रखा गया है, केवल इन्फोपाथ (InfoPath) 2007 के अतिरिक्त, जो VSTA के साथ एकीकृत होता है। VSTA का वर्तमान संस्करण (विजुअल स्टूडियो 2008 पर आधारित संस्करण 2.0) को अप्रैल 2008 में रिलीज़ किया गया था। यह पहले संस्करण से उल्लेखनीय रूप से भिन्न है और इसमें डाइनामिक प्रोग्रामिंग एवं WPF, WCF, WF, LINQ, व .NET 3.5 फ्रेमवर्क के लिये समर्थन जैसी विशेषताएं शामिल हैं।
विजुअल स्टूडियो 2008, और विजुअल स्टूडियो टीम सिस्टम 2008, कोडनाम "ऑर्कस", को 19 नवम्बर 2007 को। NET फ्रेमवर्क 3.5 के साथ MSDN के ग्राहकों के लिये रिलीज़ किया गया था। व्हिडबे, जो कि पुगेट साउन्ड में एक द्वीप का सन्दर्भ है, की ही तरह "ऑर्कस" कोडनाम भी ऑर्कस द्वीप को सन्दर्भित करता है। विजुअल स्टूडियो 2008 IDE के लिये स्रोत कोड एक साझा स्रोत लाइसेंस के अंतर्गत माइक्रोसॉफ्ट के कुछ भागीदारों और ISVs के लिये उपलब्ध होगा। माइक्रोसॉफ्ट ने 11 अगस्त 2008 को विजुअल स्टूडियो 2008 के लिये सर्विस पैक 1 रिलीज़ किया। विजुअल स्टूडियो 2008 की आंतरिक संस्करण संख्या 9.0 है, जबकि फाइल फॉर्मेट संस्करण 10.0 है।
विजुअल स्टूडियो 2008 विण्डोज़ विस्टा, 2007 ऑफिस सिस्टम और वेब अनुप्रयोगों के विकास पर केंद्रित है। दृश्यात्मक रचना के लिये माइक्रोसॉफ्ट एक्सप्रेशन वेब से प्रभावित एक नया विण्डोज़ प्रेज़ेंटेशन फाउंडेशन विजुअल डिज़ाइनर और एक नया HTML/CSS एडिटर शामिल किया गया है। J# को शामिल नहीं किया गया है। विजुअल स्टूडियो 2008 के लिये। NET 3.5 फ्रेमवर्क की आवश्यकता होती है और डिफॉल्ट रूप से यह .NET फ्रेमवर्क 3.5 पर क्रियान्वित होने के लिये कम्पाइल की गई असेम्बलीज़ को विन्यासित करता है, लेकिन यह बहु-लक्ष्यीकरण का भी समर्थन करता है, जो विकासकर्ताओं को यह चुनने की सुविधा देता है कि .NET फ्रेमवर्क का कौन-सा संस्करण (2.0, 3.0, 3.5, Silverlight CoreCLR या .NET कॉम्पैक्ट फ्रेमवर्क में से) असेम्बली पर क्रियान्वित हो रहा है। विजुअल स्टूडियो 2008 में नये कोड विश्लेषण उपकरण, नये कोड मेट्रिक्स उपकरण (केवल टीम एडिशन और टीम स्वीट एडिशन में) सहित, भी शामिल हैं। विजुअल C++ के लिये, विजुअल स्टूडियो माइक्रोसॉफ्ट फाउण्डेशन क्लासेस (MFC 9.0) का एक नया संस्करण जोड़ता है, जो विण्डोज़ विस्टा के साथ प्रस्तुत दृश्यात्मक शैलियों और UI नियंत्रणों के लिये समर्थन को जोड़ता है। नेटिव और प्रबंधित कोड अंतःप्रचालनीयता के लिये, विजुअल C++ ने एक STL/CLR प्रस्तुत किया, जो प्रबंधित कोड के लिये C++ स्टैण्डर्ड टेम्पलेट लाइब्रेरी (STL) कन्टेनर्स और एल्गोरिदम्स का एक पोर्ट है। STL/CLR STL-जैसे कन्टेनर्स, इटरेटर्स और एल्गोरिदम्स को परिभाषित करती है, जो C++/CLI प्रबंधित ऑब्जेक्ट्स पर कार्य करते हैं।
विजुअल स्टूडियो 2008 एक XAML आधारित डिज़ाइनर (कोडनाम "साइडर"), वर्कफ्लो डिज़ाइनर, LINQ से SQL डिज़ाइनर (SQL सर्वर डेटा के लिये टाइप मैपिंग और ऑब्जेक्ट एन्कैप्स्युलेशन को परिभाषित करने के लिये), XSLT डीबगर, जावास्क्रिप्ट इन्टेलीसेन्स समर्थन (JavaScript Intellisense support), जावास्क्रिप्ट डीबगिंग समर्थन (JavaScript Debugging support), UAC स्पष्टताओं के लिये समर्थन, एक संगामी निर्माण तंत्र और कुछ अन्य विशेषताएं प्रदर्शित करता है। यह विण्डोज़ फॉर्म्स और WPF दोनों के लिये, UI विजेट्स के एक सुधारित समुच्चय के साथ आता है। किसी परियोजना में अनेक सूत्रों पर एक साथ अनेक स्रोत फाइलों को कम्पाइल करने (और एक क्रियान्वयन-योग्य फाइल का निर्माण करने के लिये) इसमें एक बहुसूत्रण निर्माण इंजन (MSBuild) भी शामिल होता है। विण्डोज़ विस्टा में प्रस्तुत PNG संपीड़ित आइकन संसाधनों को कम्पाइल करने के लिये भी इसमें समर्थन शामिल होता है। एक अद्यतन XML स्कीमा डिज़ाइनर को विजुअल स्टूडियो 2008 की रिलीज़ के कुछ समय बाद पृथक रूप से भेजा जाएगा.
विजुअल स्टूडियो डीबगर में ऐसी विशेषताएं शामिल हैं, जो बहु-सूत्रित अनुप्रयोगों की सरल डीबगिंग पर लक्ष्यित होती हैं। डीबगिंग मोड में, सभी सूत्रों को सूचीबद्ध करनेवाली "Threads" विण्डो में, किसी एक सूत्र के आस-पास माउस फिराने पर टूलटिप्स में उस सूत्र का स्टैक ट्रेस प्रदर्शित होगा। सूत्रों को उसी विण्डो से सीधे ही नाम दिया जा सकता है और सरल पहचान के लिये चिह्नित भी किया जा सकता है। इसके अतिरिक्त, कोड विण्डो में, वर्तमान सूत्र में वर्तमान में क्रियान्वित हो रहे निर्देश की स्थिति को सूचित करने के साथ ही अन्य सूत्रों में वर्तमान में क्रियान्वित हो रहे निर्देशों को भी उल्लेखित किया जाता है। विजुअल स्टूडियो डीबगर .NET 3.5 फ्रेमवर्क बेस क्लास लाइब्रेरी (BCL) की एकीकृत डीबगिंग का समर्थन करती है, जो कि BCL स्रोत कोड और डीबग चिन्हों को डाइनामिक रूप से डाउनलोड कर सकता है और डीबगिंग के दौरान BCL स्रोत में जाने की अनुमति देता है। वर्तमान में BCL स्रोत का एक सीमित उप-समुच्चय शामिल होता है, जिसमें इस वर्ष बाद में अधिक लाइब्रेरी समर्थन प्रदान करने की योजना है।
विजुअल स्टूडियो 2010 के अंतिम संस्करण को 12-14 अप्रैल को डेवकनेक्शन्स (DevConnections) सम्मेलन में प्रस्तुत किया जाना नियोजित है। माइक्रोसॉफ्ट की वेबसाइट के अनुसार, विजुअल स्टूडियो 2010 को स्वतः 12 अप्रैल 2010 को रिलीज़ किया जाएगा.
विजुअल स्टूडियो 2010 के IDE की पुनर्रचना की गई है, जो, माइक्रोसॉफ्ट के अनुसार, UI संगठन को हटाती है और "अव्यवस्था और जटिलता को कम करती है". नया IDE बहु-दस्तावेज़ विण्डोज़ और फ्लोटिंग टूल विण्डोज़ के लिये बेहतर समर्थन प्रदान करता है और बहु-निरीक्षण समर्थन भी प्रस्तुत करता है। इस IDE शेल को विण्डोज़ प्रेज़ेंटेशन फाउंडेशन (WPF) का प्रयोग करके पुनर्लेखित किया गया है, जबकि आंतरिकों को मैनेज्ड एक्सटेन्सिबिलिटी फ्रेमवर्क (MEF) का प्रयोग करके पुनर्लेखित किया गया है, जो IDE के पिछले संस्करण, जिसने IDE के व्यवहार को संशोधित करने के लिये ऐड-इन्स को सक्षम बनाया था, की तुलना में अधिक वितान्यता बिंदु प्रस्तुत करता है। नई बहु-प्रतिमान प्रोग्रामिंग भाषा ML-भिन्न F विजुअल स्टूडियो 2010 का एक भाग है; जैसे M, पाठ्य मॉडलिंग भाषा और "क्वाड्रंट (Quadrant)", विजुअल मॉडल डिज़ाइनर, हैं, जो ऑस्लो पहल के भाग हैं।
विजुअल स्टूडियो 2010 .NET फ्रेमवर्क 4 के साथ आता है और विण्डोज़ 7 पर लक्ष्यित अनुप्रयोगों के विकास का समर्थन करता है। माइक्रोसॉफ्ट SQL सर्वर के अतिरिक्त यह IBM DB2 और ऑरेकल डेटाबेसों (अधिक जानकारी के लिये IBM.Com और TeamFuze.net देखें) का समर्थन करता है। माइक्रोसॉफ्ट सिल्वरलाइट अनुप्रयोगों को विकसित करने के लिये इसमें एक अंतःक्रियात्मक डिज़ाइनर सहित एक एकीकृत समर्थन होता है। समानांतर प्रोग्रामिंग को सरल बनाने के लिये विजुअल स्टूडियो 2010 विभिन्न उपकरण प्रदान करता है: .NET फ्रेमवर्क के लिये समानांतर विस्तारणों और मूल कोड के लिये पैरलल पैटर्न्स लाइब्रेरी के अतिरिक्त, विजुअल स्टूडियो 2010 में समानांतर अनुप्रयोगों की डीबगिंग के लिये उपकरण शामिल होते हैं। नये उपकरण समानांतर कार्यों और उनके रनटाइम स्टैक्स को दृश्यात्मक रूप से प्रदर्शित करने की सुविधा प्रदान करते हैं। समानांतर अनुप्रयोगों की प्रोफाइलिंग के लिये उपकरणों का प्रयोग प्रोसेसर कोरों के बीच सूत्र प्रतीक्षा समय और सूत्र प्रवासन के दृश्यात्मक प्रदर्शन के लिये किया जा सकता है। इंटेल (Intel) और माइक्रोसॉफ्ट (Microsoft) ने संयुक्त रूप से विजुअल स्टूडियो 2010 में एक नये कॉन्करन्सी रनटाइम के लिये समर्थन प्रदान करने की शपथ ली है और इंटेल ने समानांतरवाद के लिये समर्थन को पैरलल स्टूडियो में विजुअल स्टूडियो के लिये एक ऐड-ऑन के रूप में जारी किया है।
विजुअल स्टूडियो 2010 कोड एडिटर अब सन्दर्भों को हाइलाइट करता है; जब भी किसी चिन्ह को चयनित किया जाता है, तो उस चिन्ह के अन्य सभी प्रयोगों को हाइलाइट कर दिया जाता है। C++, C# और VB.NET परियोजनाओं में सभी चिन्हों पर एक वृद्धिशीलरूप से खोज करने के लिये यह एक " क्विक सर्च (Quick Search)" विशेषता भी प्रस्तुत करता है। क्विक सर्च (Quick Search) उप-स्ट्रिंग मिलानों और कैमलकेस (camelCase) खोजों का समर्थन करती है। "कॉल हाइरार्की (Call Hierarchy)" विशेषता विकासकर्ता को उन सभी मेथड्स को देखने की अनुमति देती है, जिन्हें वर्तमान मेथड से और साथ ही वर्तमान मेथड को कॉल करनेवाली मेथड्स से कॉल किया गया हो। विजुअल स्टूडियो में इन्टेलीसेन्स (IntelliSense) एक "consume-first" मोड का समर्थन करता है, जिसे विकासकर्ता द्वारा चुना जा सकता है। इस मोड में, इन्टेलीसेन्स आइडेंटिफायरों को स्वतः-पूर्ण नहीं करेगा; यह विकासकर्ता को अपरिभाषित आइडेंटिफायरों (जैसे वेरियेबल या मेथन नामों) का प्रयोग करने और उन्हें बाद में परिभाषित करने की अनुमति देता है। यदि विजुअल स्टूडियो 2010 उनके प्रयोग के आधार पर उनके प्रकारों का अनुमान लगा सके, तो यह उन्हें स्वचालित रूप से परिभाषित करके इसमें सहायता कर सकता है।
विजुअल स्टूडियो अल्टिमेट 2010 (पूर्व में टीम सिस्टम 2010), कोडनाम "रोसेरियो", को अनुप्रयोग जीवन-चक्र प्रबंधन के लिये स्थापित किया जा रहा है। इसमें नये मॉडलिंग उपकरण, जैसे "आर्किटेक्चर एक्सप्लोरर (Architecture Explorer)", जो परियोजनाओं और क्लासेस तथा उनके बीच संबंधों को चित्रात्मक रूप से प्रदर्शित करता है, शामिल हैं। यह UML गतिविधि चित्र, घटक चित्र, (तार्किक) क्लास चित्र, क्रम चित्र और प्रयोग स्थिति चित्र का समर्थन करता है। विजुअल स्टूडियो अल्टिमेट 2010 में "Test Impact Analysis" भी शामिल है, जो परीक्षण स्थितियों को वास्तविक रूप से क्रियान्वित किये बिना इस बारे में संकेत प्रदान करता है कि स्रोत कोड में संशोधनों के द्वारा कौन-सी परीक्षण स्थितियां प्रभावित हुई हैं। यह अनावश्यक परीक्षण स्थितियों को क्रियान्वित करने की आवश्यकता से बचते हुए परीक्षण को गति प्रदान करता है।
प्रबंधित कोड के लिये विजुअल स्टूडियो 2010 में "इन्टेलीट्रेस (IntelliTrace)" नामक एक "ऐतिहासिक डीबगर (Historical Debugger)" भी शामिल होता है। वर्तमान डीबगर, जो कि केवल वर्तमान-गतिविधि स्टैक को रिकॉर्ड करता है, के विपरीत, इन्टेलीट्रेस (IntelliTrace) सभी घटनाओं, जैसे पिछले फंक्शन कॉल्स, मेथड्स पैरामीटर्स, घटनाओं, अपवादों आदि को रिकॉर्ड करता है। यह उस स्थिति में कोड क्रियान्वयन को उल्टा घुमाने की अनुमति देता है, जब उस स्थान पर कोई ब्रेक-पॉइंट सेट न किया गया हो, जहां त्रुटि उत्पन्न हुई थी। इन्टेलीट्रेस (IntelliTrace) के कारण अनुप्रयोग वर्तमान डीबगर की तुलना में धीमी गति से क्रियान्वित होंगे और इसके लिये अधिक मेमोरी का प्रयोग करेगा क्योंकि अतिरिक्त डेटा को रिकॉर्ड करने की आवश्यकता होगी। माइक्रोसॉफ्ट इस बात को विन्यासित करने की अनुमति देती है कि कितने डेटा को रिकॉर्ड किया जाना चाहिये और इसके परिणामस्वरूप विकासकर्ताओं को क्रियान्वयन की गति और संसाधन प्रयोग के बीच प्रभावी रूप से संतुलन बनाने की अनुमति देती है। विजुअल स्टूडियो 2010 का "लैब मैनेजमेंट (Lab Management)" घटक परीक्षकों और विकासकर्ताओं के लिये एक समान वातावरण बनाने के लिये दृश्यात्मकता का प्रयोग करता है। आभासीय मशीनें जांच-बिंदुओं द्वारा चिह्नित की जातीं हैं, जिनका मुद्दों की जांच के लिये और साथ ही मुद्दे को पुनरुत्पन्न करने के लिये बाद में परीक्षण किया जा सकता है। विजुअल स्टूडियो अल्टिमेट 2010 में उन परीक्षण क्रियान्वयनों को रिकॉर्ड करने की क्षमता भी होती है, जो प्रचालन वातावरण की किसी विशिष्ट अवस्था और साथ ही परीक्षण को क्रियान्वित करने के लिये प्रयुक्त स्पष्ट चरणों को अभिग्रहित करता है। मुद्दों को पुनरुत्पन्न करने के लिये इन चरणों को बाद में पीछे की ओर दोबारा क्रियान्वित किया जा सकता है।
VS 2010 में F, मूलतः माइक्रोसॉफ्ट रिसर्च में विकसित एक कार्यात्मक प्रोग्रामिंग भाषा, शामिल होती है। पहले एक वैकल्पिक विस्तारण के रूप में उपलब्ध यह भाषा अब एक मुख्यधारा उपकरण के रूप में शामिल कर ली गई है।
ऐसा बताया गया है कि VS 2010 को 09 अप्रैल 2010 को पूर्ण कर लिया गया है।
विजुअल स्टूडियो टीम सिस्टम 2008 और 2005 के साथ माइक्रोसॉफ्ट द्वारा आभासीय मशीनें प्रस्तुत की जा रहीं हैं, जो परीक्षण प्रयोग के लिये लेखबद्ध वर्चुअल हार्ड डिस्क प्रारूप में पूर्व-स्थापित हैं।