माइक्रोसॉफ्ट विजुअल स्टूडियो

संरचना

अंतस्थ रूप से विजुअल स्टूडियो किसी भी प्रोग्रामिंग भाषा, समाधान या उपकरण का समर्थन नहीं करता है। इसकी बजाय, यह विभिन्न कार्यात्मकता को जोड़ने की अनुमति देता है। विशिष्ट कार्यात्मकता एक 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 में विजुअल स्टूडियो शेल का लाभ उठाता है।

कोड एडीटर (Code editor)

किसी भी अन्य [[IDE|IDE]] की तरह विजुअल स्टूडियो में भी एक कोड संपादक शामिल होता है, जिसमें इन्टेलीसेन्स का प्रयोग करके न केवल वेरियेबल्स, फंक्शन्स और मेथड्स के लिये, बल्कि भाषा के निर्माण खण्डों, जैसे लूप्स और क्वेरीज़, के लिये भी सिन्टैक्स हाइलाइटिंग और कोड पूर्णता के लिये समर्थन शामिल होता है। इसमें शामिल की गई भाषाओं और साथ ही XML के लिये और वेब साइटों तथा वेब अनुप्रयोगों का विकास करते समय कास्केडिंग स्टाइल शीट और जावास्क्रिप्ट के लिये भी इन्टेलीसेन्स का समर्थन प्रदान किया जाता है। ऑटोकम्पलीट सुझाव एक मोडविहीन लिस्ट बॉक्स में पॉप-अप होते हैं, जो कि कोड एडीटर के शीर्ष पर अच्छादित होता है। विजुअल स्टूडियो 2008 और इससे बाद वाले संस्करणों में इसे अस्थाई रूप से अर्ध-पारदर्शी बनाया जा सकता है, ताकि इसके द्वारा बाधित कोड को देखा जा सके।  कोड संपादक का प्रयोग सभी समर्थित भाषाओं के लिये किया जा सकता है।
विजुअल स्टूडियो कोड संपादक शीघ्र संचालन के लिये कोड में बुकमार्क रितेश सेट करने का भी समर्थन करता है। अन्य संचालनात्मक सहायताओं में सामान्य टेक्स्ट खोज और रेगेक्स खोज के साथ ही कोड ब्लॉक्स और वृद्धिशील खोज शामिल होते हैं। कोड संपादक में एक बहु-वस्तु क्लिपबोर्ड और एक कार्य-सूची भी शामिल होती है। कोड संपादक कोड-खण्डों का भी समर्थन करता है, जो दोहरावपूर्ण कोड के लिये संचित टेम्पलेट होते हैं और जिस परियोजना पर कार्य किया जा रहा हो, उसमें इन्हें प्रविष्ट और कस्टमाइज़ किया जा सकता है। कोड खण्डों के लिये एक प्रबंधन उपकरण भी अंतर्निर्मित होता है। ये उपकरण तैरती हुई विण्डोज़ के रूप में प्रदर्शित होते हैं, जिन्हें प्रयोग न किये जाने या स्क्रीन के बाजू में रख दिये जाने पर स्वचालित रूप से छिप जाने हेतु सेट किया जा सकता है। विजुअल स्टूडियो का कोड संपादक पैरामीटर रिकॉर्डिंग, वेरियेबल और मेथड पुनर्नामकरण, इन्टरफेस उद्धरण और प्रापर्टीज़ के भीतर क्लास के सदस्यों के एन्कैप्स्युलेशन सहित अन्य कोड रिफैक्टरिंग का समर्थन भी करता है।
विजुअल स्टूडियो बैकग्राउण्ड कम्पाइलेशन (जिसे वृद्धिशील कम्पाइलेशन भी कहा जाता है) का समर्थन करता है। जब कोड लिखा जा रहा हो, तो विजुअल स्टूडियो इसे पृष्ठभूमि में कम्पाइल करता है ताकि सिन्टैक्स और कम्पाइलेशन त्रुटियों, जिन्हें लाल लहरदार अधोरेखा के द्वारा चिह्नित किया जाता है, के बारे में फीडबैक दिया जा सके। चेतावनियों को एक हरी अधोरेखा के द्वारा चिह्नित किया जाता है। बैकग्राउण्ड कम्पाइलेशन क्रियान्वयन-योग्य कोड उत्पन्न नहीं करता क्योंकि इसके लिये क्रियान्वयन-योग्य कोड के लिये प्रयुक्त कम्पाइलर से भिन्न एक कम्पाइलर की आवश्यकता होती है। बैकग्राउण्ड कम्पाइलेशन सबसे पहले माइक्रोसॉफ्ट विजुअल बेसिक में प्रस्तुत किया गया था, लेकिन अब इसे सभी सम्मिलित भाषाओं के लिये विस्तारित किया जा चुका है।

डीबगर (Debugger)

विजुअल स्टूडियो में एक डीबगर शामिल होता है, जो स्रोत-स्तरीय डीबगर और मशीन-स्तरीय डीबगर दोनों के रूप में कार्य कर सकता है। यह प्रबंधित कोड और मूल कोड दोनों के साथ कार्य करता है और इसका प्रयोग विजुअल स्टूडियो द्वारा समर्थित किसी भी भाषा में लिखे अनुप्रयोगों की डीबगिंग के लिये किया जा सकता है। इसके अतिरिक्त, इसे वर्तमान में क्रियान्वित हो रही प्रक्रियाओं के साथ जोड़ा जा सकता है, ताकि इनका निरीक्षण करके इन्हें डीबग किया जा सके।  यदि क्रियान्वित हो रही प्रक्रिया के लिये स्रोत कोड उपलब्ध हो, तो क्रियान्वयन के साथ ही यह कोड को प्रदर्शित करता है। यदि स्रोत कोड उपलब्ध न हो, तो यह डिसअसेम्बली को प्रदर्शित कर सकता है। विजुअल स्टूडियो डीबगर अनेक मेमोरी डम्प बना सकता है और साथ ही उन्हें बाद में डीबगिंग के लिये लोड भी कर सकता है। बहु-सूत्रित (Multi-threaded) प्रोग्राम्स का समर्थन भी किया जाता है। डीबगर को विजुअल स्टूडियो के बाहर क्रियान्वित हो रहे किसी अनुप्रयोग के विफल होने पर प्रारंभ किये जाने के लिये भी विन्यासित किया जा सकता है।
डीबगर ब्रेकपॉइन्ट्स (जो किसी विशिष्ट बिंदु पर क्रियान्वयन को अस्थाई रूप से रोकने की अनुमति देते हैं) और वॉचेस (जो क्रियान्वयन की प्रगति के साथ वेरियेबल्स के मानों का निरीक्षण करते हैं) को सेट करने की भी अनुमति देता है। ब्रेकपॉइन्ट्स शर्त पर आधारित हो सकते हैं, जिसका अर्थ है कि वे उस समय प्रारंभ होते हैं, जब कोई शर्त पूर्ण होती है। कोड को क्रमशः, अर्थात एक बार में एक पंक्ति (स्रोत कोड की), पर आगे बढ़ाया जा सकता है। यह फंक्शन्स को डीबग करने के लिये इनके भीतर प्रविष्ट (step into) हो सकता है या यदि मानवीय निरीक्षण के लिये फंक्शन बॉडी उपलब्ध न हो, तो वह इसे छोड़कर (step over) आगे भी बढ़ सकता है। डीबगर एडिट एंड कन्टिन्यू (Edit and Continue) का समर्थन करता है, अर्थात यह कोड को डीबग होते समय ही संपादित किये जाने (केवल 32 बिट के लिये; 64 बिट में समर्थित नहीं) का समर्थन भी करता है। डीबगिंग करते समय, यदि किसी भी वेरियेबल पर माउस सूचक ले जाया जाए, तो इसका वर्तमान मान एक टूलटिप ("डेटा टूलटिप") में प्रदर्शित होता है, जहां इसे इच्छानुसार संशोधित भी किया जा सकता है। कोडिंग के दौरान, विजुअल स्टूडियो डीबगर विशिष्ट कार्यात्मकताओं को इमीडिएट (Immediate) उपकरण विण्डो से मानवीय रूप से शुरु करने की अनुमति देता है। मेथड के लिये पैरामीटर इमीडियेट विण्डो पर भेजे जाते हैं।

विज़ुअल स्टूडियो 97 (Visual Studio 97)

माइक्रोसॉफ्ट ने पहली बार अपने अनेक प्रोग्रामिंग उपकरणों को एक साथ जोड़कर विजुअल स्टूडियो को सबसे पहले 1997 में रिलीज़ किया। विजुअल स्टूडियो 97 को दो संस्करणों, प्रोफेशनल और एन्टरप्राइज़, में रिलीज़ किया गया था। इसमें विजुअल बेसिक 5.0 और विजुअल C++ 5.0, मुख्यतः विण्डोज़ प्रोग्रामिंग के लिये; विजुअल J++ 1.1, जावा तथा विण्डोज़ प्रोग्रामिंग के लिये; और विजुअल फॉक्सप्रो 5.0, डेटाबेस के लिये, विशिष्ट रूप से xBase प्रोग्रामिंग के लिये, को शामिल किया गया था। एक्टिव सर्वर पेजेस का प्रयोग करके गतिशील रूप से उत्पन्न वेब साइटों का निर्माण करने के लिये इसमें विजुअल इन्टरडेव को प्रस्तुत किया गया था। इसमें माइक्रोसॉफ्ट डेवलपर नेटवर्क लाइब्रेरी का एक स्नैपशॉट भी शामिल किया गया था।
विजुअल स्टूडियो 97 अनेक भाषाओं के लिये एक ही विकास वातावरण का प्रयोग करने का माइक्रोसॉफ्ट (Microsoft) का पहला प्रयास था। विजुअल C++, विजुअल J++, इन्टरडेव और MSDN लाइब्रेरी, सभी एक ही वातावरण का प्रयोग करते थे, जिसे डेवलपर स्टूडियो कहा जाता था। विजुअल बेसिक और विजुअल फॉक्सप्रो के लिये भिन्न वातावरणों का प्रयोग किया जाता था।

विजुअल स्टूडियो .NET (Visual Studio .NET) (2002)

माइक्रोसॉफ्ट ने विजुअल स्टूडियो .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 में रिलीज़ किया।

विजुअल स्टूडियो .NET 2003 (Visual Studio .NET 2003)

अप्रैल 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 (Visual Studio 2005)

विजुअल स्टूडियो 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 (Visual Studio 2008)

विजुअल स्टूडियो 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 स्रोत का एक सीमित उप-समुच्चय शामिल होता है, जिसमें इस वर्ष बाद में अधिक लाइब्रेरी समर्थन प्रदान करने की योजना है।

पूर्व-स्थापित आभासीय मशीनें

विजुअल स्टूडियो टीम सिस्टम 2008 और 2005 के साथ माइक्रोसॉफ्ट द्वारा आभासीय मशीनें प्रस्तुत की जा रहीं हैं, जो परीक्षण प्रयोग के लिये लेखबद्ध वर्चुअल हार्ड डिस्क प्रारूप में पूर्व-स्थापित हैं।