VISUAL STUDIO
shreenath subramanian
Software Associate Intern | Python Development | Founder of ProAI
Visual Studio?is an?integrated development environment ?(IDE) from?Microsoft . It is used to develop?computer programs ?including?websites ,?web apps ,?web services ?and?mobile apps . Visual Studio uses Microsoft software development platforms such as?Windows API ,?Windows Forms ,?Windows Presentation Foundation ,?Windows Store ?and?Microsoft Silverlight . It can produce both?native code ?and?managed code .
Visual Studio includes a?code editor ?supporting?IntelliSense ?(the?code completion ?component) as well as?code refactoring . The integrated debugger works as both a source-level debugger and as a machine-level debugger. Other built-in tools include a?code profiler , designer for building?GUI ?applications,?web designer ,?class ?designer, and?database schema ?designer. It accepts plug-ins that expand the functionality at almost every level—including adding support for?source control ?systems (like?Subversion ?and?Git ) and adding new toolsets like editors and visual designers for?domain-specific languages ?or toolsets for other aspects of the?software development lifecycle ?(like the?Azure DevOps ?client: Team Explorer).
Visual Studio supports 36 different?programming languages ?and allows the code editor and debugger to support (to varying degrees) nearly any programming language, provided a language-specific service exists. Built-in languages include?C ,?C++ ,?C++/CLI ,?Visual Basic
.NET ,?C# ,?F# ,?JavaScript ,?TypeScript ,?XML ,?XSLT ,?HTML , and?CSS . Support for other languages such as?Python ,[8] ?Ruby ,?Node.js , and?M ?among others is available via?plug-ins .?Java ?(and?J# ) were supported in the past.
The most basic edition of Visual Studio, the Community edition, is available free of charge. The slogan for Visual Studio Community edition is "Free, fully-featured IDE for students, open-source and individual developers".
As of January?10, 2023, Visual Studio 2022 is a current production-ready version. Visual Studio 2013, 2015 and 2017 are on Extended Support, while 2019 is on Mainstream Support.
领英推荐
Architecture:
Visual Studio does not support any programming language, solution or tool intrinsically; instead, it allows the plugging of functionality coded as a VSPackage. When installed, the functionality is available as a?Service. The?IDE ?provides three services: SVsSolution, which provides the ability to enumerate projects and solutions; SVsUIShell, which provides windowing and UI functionality (including tabs, toolbars, and tool windows); and SVsShell, which deals with registration of VSPackages. In addition, the IDE is also responsible for coordinating and enabling communication between services.?All editors, designers, project types and other tools are implemented as VSPackages. Visual Studio uses?COM ?to access the VSPackages. The Visual Studio?SDK ?also includes the?Managed Package Framework?(MPF), which is a set of?managed ?wrappers around the COM-interfaces that allow the Packages to be written in any?CLI compliant language .?However, MPF does not provide all the functionality exposed by the Visual Studio COM interfaces.?The services can then be consumed for creation of other packages, which add functionality to the Visual Studio IDE.
Support for programming languages is added by using a specific VSPackage called a?Language Service. A language service defines various interfaces which the VSPackage implementation can implement to add support for various functionalities.?Functionalities that can be added this way include syntax coloring, statement completion, brace matching, parameter information tooltips, member lists, and error markers for background compilation.If the interface is implemented, the functionality will be available for the language. Language services are implemented on a per-language basis. The implementations can reuse code from the parser or the compiler for the language.Language services can be implemented either in?native code ?or?managed code . For native code, either the native COM interfaces or the Babel Framework (part of Visual Studio SDK) can be used.?For managed code, the MPF includes wrappers for writing managed language services.
Visual Studio does not include any?source control ?support built in but it defines two alternative ways for source control systems to integrate with the IDE.?A Source Control VSPackage can provide its own customised user interface. In contrast, a source control plugin using the?MSSCCI?(Microsoft Source Code Control Interface) provides a set of functions that are used to implement various source control functionality, with a standard Visual Studio user interface.?MSSCCI was first used to integrate?Visual SourceSafe ?with Visual Studio 6.0 but was later opened up via the Visual Studio SDK. Visual Studio .NET 2002 used MSSCCI 1.1, and Visual Studio .NET 2003 used MSSCCI 1.2. Visual Studio 2005, 2008, and 2010 use MSSCCI Version 1.3, which adds support for rename and delete propagation, as well as asynchronous opening.
Visual Studio supports running multiple instances of the environment (each with its own set of VSPackages). The instances use different?registry hives ?(see?MSDN 's?definition ?of the term "registry?hive" in the sense used here) to store their configuration state and are differentiated by their AppId (Application ID). The instances are launched by an AppId-specific .exe that selects the AppId, sets the root hive, and launches the IDE. VSPackages registered for one AppId are integrated with other VSPackages for that AppId. The various product editions of Visual Studio are created using the different AppIds. The?Visual Studio Express ?edition products are installed with their own AppIds, but the Standard, Professional, and?Team Suite ?products share the same AppId. Consequently, one can install the Express editions side-by-side with other editions, unlike the other editions which update the same installation. The professional edition includes a superset of the VSPackages in the standard edition, and the team suite includes a superset of the VSPackages in both other editions. The AppId system is leveraged by the?Visual Studio Shell ?in Visual Studio 2008.