Visual Studio .NET IDE, windows and features
Visual Studio .NET
Visual Studio .NET is an IDE from Microsoft for developing .Net based applications in supported programming languages usually in C#. It can also be used to develop ASP Web applications, XML Web services, desktop applications, and mobile applications. Various supporting programming languages includes, Visual Basic .NET, Visual C++ .NET, Visual C# .NET, and Visual J# .NET thus, enabling tools and facilitates sharing for the creation of mixed-language solutions. .
Features and IDE
A correlation of .NET Framework, CLR, and Visual Studio versions is provided for each version.
.NET Framework version | Introduced with IDE | Description |
---|---|---|
1.0 | Visual Studio .NET | Contained the first version of the CLR and the first version of the base class libraries. |
1.1 | Visual Studio .NET 2003 | Included updates to ASP.NET and ADO.NET. It was subsequently updated twice, with Service Pack 1 (SP1) and SP2. It added side-by-side execution, enabling apps on a single computer to run against multiple versions of the CLR. |
2.0 | Visual Studio 2005 | Introduced a new version of the CLR with additions to the base class libraries, including generics, generic collections, and significant additions to ASP.NET. This version was updated with SP1 and SP2. |
3.0 | Visual Studio 2005 | This version is essentially .NET Framework 2.0 with the addition of Windows Presentation Foundation (WPF), Windows Communications Foundation (WCF), Windows Workflow Foundation (WF), and CardSpace. It was updated with SP1 and SP2. |
3.5 | Visual Studio 2008 | Added new features such as AJAX-enabled websites and LINQ. The SP1 update added Dynamic Data, and a small set of additional enhancements. |
4 | Visual Studio 2010 | Included a new version of the CLR, expanded base class libraries, and new features such as the Managed Extensibility Framework (MEF), dynamic language runtime (DLR), and code contracts. |
4.5 | Visual Studio 2012 | Includes an updated version of the CLR, support for building Windows Store apps, and updates to WPF, WCF, WF, and ASP.NET. |
Visual Studio Components
- Visual Studio has a code editor with IntelliSense as well as code refactoring.
- The integrated debugger works not only as a source-level debugger but also as a machine-level debugger.
- Forms designer provided in visual studio is used for building GUI applications.
- Web designer
- Class designer
- Database schema designer.
Visual Studio also accepts plug-ins to enhance it’s functionality like adding support for source-control systems (like Subversion and Visual SourceSafe) or adding new toolsets like editors and visual designers for domain-specific languages or toolsets for other aspects of the software development lifecycle (like the Team Foundation Server client: Team Explorer).
Visual Studio supports different programming languages by it’s language services, to support different programming language and enable support in it’s code editor and debugger. The supporting programming languages includes C/C++ (via Visual C++), VB.NET (via Visual Basic .NET), C# (via Visual C#), and F# (as of Visual Studio 2010). Support for XML/XSLT, HTML/XHTML, JavaScript and CSS is also present.
Microsoft provides “Express” editions of its Visual Studio 2010 components Visual Basic, Visual C#, Visual C++, and Visual Web Developer are made available to the public and developer community at large for no cost. Visual Studio 2012, 2010, 2008 and 2005 Professional Editions, along with language-specific versions (Visual Basic, C++, C#, J#) of Visual Studio Express 2010 are also available for free to academic community and students as downloads under the Microsoft’s DreamSpark program.
Architecture
Visual Studio does not have any native support for a specific programming language but it provides the plugging of functionality coded as a VSPackage. If installed, the functionality is available as a Service and available as three services namely
- SVsSolution, which provides the ability to enumerate projects and solutions
- SVsUIShell, which provides windowing and UI functionality (including tabs, toolbars and tool windows)
- SVsShell, which deals with registration of VSPackages.
Visual Studio is responsible for coordinating and enabling communication between the three services.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.
A language service outlines the different interfaces which the VSPackage implementation can implement for adding 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.
A source control support is also built in the IDE, but two alternative ways are defined for source control systems to integrate with the Visual Studio.
- A Source Control VSPackage can provide its own customised user interface.
- 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 integrated as Visual SourceSafe with Visual Studio 6.0. 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) which uses different registry hives for storing their configuration state and are identified 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 have 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. Hence, the Express editions can be installed side-by-side with other editions. 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.
Features of Visual Studio .NET
Various features of Visual Studio are summarized as
Feature | Description |
Annotations reporting | Allows developer to extract C# annotations and render them in HTML or store them in XML documents |
Auto-hide | Allows developer to stow minimized documents along the edges of the development environment and pops up docs as developer mouse-over them |
Cascading Style Sheets | Full support for creating styles that can be applied to HTML or XML elements |
Command window | Allows developer to invoke commands within the IDE |
Debugging support | Enhanced debugging support for C#, C++, and Visual Basic directly in the environment, as well as support for managed-code and remote debugging |
Deployment tools | Allows developer to take advantage of Windows Installer to deploy applications; supports installation rollback and app advertising; graphical editor allows developer to create installers; merge modules allow developer to standardize component installation for multiple apps |
Document navigation | Maintains such things as cursor history, allowing developer to navigate back to parts of a document or to different windows |
Editor features | Too numerous to cover; includes auto-indent, color highlighting, auto-complete, clipboard rings, document navigation, and many more |
Enhanced automation support | Allows developer to access and control parts of the IDE programmatically, such as the Code Editor, projects, tool windows, and debugging, building, and deployment tools |
HTML | WYSIWYG design and source code editing of HTML documents |
Macro recording | Allows developer to record and play macros directly in the development environment |
Object browser | Supports all languages and allows developer to browse objects in projects, class libraries, and and so forth |
Schemas | Supports the automatic creation of a schema from an XML document instance |
Start page | Acts as a personal home page for developer .Net development and provides access to news, updates, downloads, and documentation |
Tabbed documents | Allows developer to tab through multiple windows in one part of the screen |
Web browser | Allows developer to display Web pages directly in the development environment |
XML | Allows developer to edit XML with syntax-directed highlighting |
Data types | The Deftype statements (DefBool, DefByte, and so on) are not supported. Currency type is replaced by Decimal type. Dates are now stored as 8-byte integers, matching the CLR DateTime type. |
Dim, ReDim | Developer can no longer use ReDim in an initial array declaration. Developer must first declare the array using Dim. The array can then be resized using ReDim. |
Integers | Short refers to a 16-bit signed integer. Integer (type character %) now refers to a 32-bit signed integer. Long (type character &) refers to a 64-bit signed integer. |
Strings | The string data type now corresponds to the .NET Framework String class, which cannot be modified after initialization. If strings must be modified, the StringBuilder class is used. |
Variable scope | Variables declared in blocks have a block scope rather than a procedure scope. Variables declared in procedures but not within a block (a set of statements terminated by End, Loop, or Next) will have a procedure scope. |
Variants | Variant is replaced by the keyword Object. Variant, however, remains a keyword in the language. |
Visual Basic 6.0 language elements that are not in Visual Basic .NET |
As Any, Atn, Calendar, Circle, Currency, Date, Date$, Debug.Assert, Debug.Print, Deftype, DoEvents, Empty, Eqv, GoSub, Imp, Initialize, Instancing, IsEmpty, IsMissing, IsNull, IsObject, Let, Line, LSet, MsgBox, Now, Null, On…GoSub, On…GoTo, Option Base, Option Private Module, Property Get, Property Let, Property Set, PSet, Rnd, Round, RSet, Scale, Set, Sgn, Sqr, String, Terminate, Time, Time$, Timer, Variant, VarType, Wend. |
Visual Studio Window Types
The Visual Studio integrated development environment (IDE) contains two basic window types: tool windows and document windows. These two window types behave differently as tool windows and document windows cannot be grouped together in the IDE.
Tool windows
Tool windows are listed on the View menu and are defined by the current application and its add-ins. Developer can arrange tool windows in the IDE to:
- Show or hide automatically
- Tab link with other tool windows
- Dock against the edges of the IDE
- Float over
- Display on other monitors
In addition, developer can display more than one instance of certain tool windows at a time. For example, developer could display more than one Web browser window. Developer can create another instance of a tool window by choosing New Window on the Window menu. Also, developer can determine how the Close and Auto Hide buttons affect a group of tool windows docked together.
Document windows
Document windows are dynamically created when developer open or create files or other items. The list of open document windows appears in the Window menu in the current z-order, with the top-most window listed first.
The ways in which developer manage document windows depends greatly upon the interface mode selected on the General page of the Environment folder in the Options dialog box. Developer can choose to work in either Multiple Document Interface (MDI) or Tabbed Documents mode. Experiment with these settings to create a document editing environment that satisfies needs and preferences.
Dockable windows
In Tabbed Mode, developer can make document windows dockable or undockable by selecting or clearing Dockable on the Window menu. In MDI mode, document windows are undockable.
Tiled/Cascading windows
Windows can be arranged into cascading stacks or tiled only in MDI mode.
Tab Groups
Tab Groups are available only in Tabbed Documents mode. They extend ability to manage limited workspace while working with two or more open documents in the IDE. Developer can organize multiple document windows into either vertical or horizontal Tab Groups and easily shuffle documents from one Tab Group to another.
Split Windows
When developer find needing to be in two places at once in a document, viewing script in the HEAD of an html document while debugging code in the BODY for example, split windows are useful.
To divide document into two independently scrolling sections, choose Split from the Window menu. Select Remove Split from the Window menu to eliminate it.
Recycling windows
In addition, developer can choose to have a document window behave like a Web browser by displaying each new document as it is opened within the same window. Choose the option Re-use current document window, if saved, which is available on the General page under the Environment folder in the Options dialog box.
Displaying help topics in windows
Help topics can be displayed internally or externally. These options are available on the Help page under the Environment folder in the Options dialog box.
Internal help launches Help topics in a Web browser window inside the IDE. Internal help windows are dockable, floating and can be auto hidden like other tool windows. Using internal help is recommended for situations where developer will be accessing help topics on an as-needed basis.
External help launches Help topics in an external application, the Microsoft Document Explorer. Topic and tool windows such as Contents and Index can be docked and hidden in the MSDN Library. However, these windows cannot be auto hidden or docked in the Visual Studio .NET IDE. Using external help is recommended when developer wish to study the contents of the MSDN Library in greater depth.
Apply for C Sharp Certification Now!!
https://www.vskills.in/certification/Certified-C-sharp-Professional