Wednesday, February 3, 2016

Introduction 

Ever since Microsoft announced .NET for the fi rst time almost 10 years ago, there has been
a lot of noise in the developer community about the way the changes are going. .NET led its
way to modernize the ideas of coding with more sophisticated techniques by adopting more
object-oriented paradigm in programming and also changing the style of coding altogether.
The Microsoft forerunner VB was announced to be modernized in the new environment and
redesigned to be named as VB.NET , and also some other languages that are totally different
in syntax, such as C# , J# , and C++ have been announced. All of these languages are built on
top of the .NET Runtime (known as Common Language Runtime or CLR) and produce the
same intermediate output in Microsoft Intermediate Language (MSIL).

Microsoft announced .NET runtime as a separate entity by defi ning standardized rules and
specifi cations that every language must follow to take advantage of CLR. The entirely new set
of libraries, classes, syntaxes, or even the way of coding in Microsoft technologies, created
a huge hindrance in the developer community. Many developers switched their jobs, while
there are a few who really switched gears to understand how to work with the new technology
that is totally different from its predecessors. The community has already started to realize
that the existing set of Microsoft tools might not satisfy the needs of new evolving technology.
Microsoft had to give a strong toolset to help the developers to work easier and better with the
new technology.

Visual Studio is the answer to some of them. Microsoft Visual Studio is an Integrated
Development Environment (IDE) to work with Microsoft languages. It is the premier tool that
developers can posses to easily work with Microsoft technologies. But you should note, Visual
Studio is not a new product from Microsoft. It has been around for quite sometime, but the
new Visual Studio had been redesigned totally and released as Visual Studio 7.0 to support
.NET languages.


Identifying the various components of Visual Studio

Visual Studio 2012 has come up with lots of new enhancements and features. Some of these features widely enhance productivity of development. Knowing your IDE better is always an advantage to a developer. In this recipe, we will try to get our hands on to various Visual Studio IDE features to get started with using Visual Studio.
Before we start using Visual Studio, we need to fi rst make a choice on which version
practically suits us. Let's have a look at the features of all the versions of Visual Studio.
  •  Visual Studio Express: If you are looking to try out small applications or medium-sized applications and do not want to spend a single penny from your
    pocket, Visual Studio Express is the right choice for you. Microsoft has given the
    Express build free to everyone that is capable of doing all the basic needs of
    software build up.
  • Visual Studio Professional: This edition of Visual studio is for individual development
    with most of the important debugging tools and all the things a developer commonly
    needs. So if your primary orientation of using the IDE is basic development, this
    would be the right choice for you. This edition is reasonable in price too.
  • Visual Studio Premium: Visual studio Premium edition is for people who make
    high-quality usage of the IDE. It adds tools for testing, code analysis, debugging,
    profi ling, discovers common coding errors, generate test data, and so on.
  •  Visual Studio Ultimate: This is the ultimate edition of the product with all the
    components that could exist within Visual Studio. This edition provides advanced
    debugging capabilities with all architecture and modeling tools with it.


Features




Like any other IDE, it includes a code editor that supports syntax highlighting and code completion using IntelliSense for variables, functions, methods, loops and LINQ queries. IntelliSense is supported for the included languages, as well as for XML and for Cascading Style Sheets and JavaScript when developing web sites and web applications. Autocomplete suggestions appear in a modeless list box over the code editor window, in proximity of the editing cursor. In Visual Studio 2008 onwards, it can be made temporarily semi-transparent to see the code obstructed by it.The code editor is used for all supported languages.

The Visual Studio code editor also supports setting bookmarks in code for quick navigation. Other navigational aids include collapsing code blocks and incremental search, in addition to normal text search and regex search. The code editor also includes a multi-item clipboard and a task list.The code editor supports code snippets, which are saved templates for repetitive code and can be inserted into code and customized for the project being worked on. A management tool for code snippets is built in as well. These tools are surfaced as floating windows which can be set to automatically hide when unused or docked to the side of the screen. The Visual Studio code editor also supports code refactoring including parameter reordering, variable and method renaming, interface extraction and encapsulation of class members inside properties, among others.

Visual Studio features background compilation (also called incremental compilation). As code is being written, Visual Studio compiles it in the background in order to provide feedback about syntax and compilation errors, which are flagged with a red wavy underline. Warnings are marked with a green underline. Background compilation does not generate executable code, since it requires a different compiler than the one used to generate executable code. Background compilation was initially introduced with Microsoft Visual Basic but has now been expanded for all included languages.

Debugger

Visual Studio includes a debugger that works both as a source-level debugger and as a machine-level debugger. It works with both managed code as well as native code and can be used for debugging applications written in any language supported by Visual Studio. In addition, it can also attach to running processes and monitor and debug those processes. If source code for the running process is available, it displays the code as it is being run. If source code is not available, it can show the disassembly. The Visual Studio debugger can also create memory dumps as well as load them later for debugging. Multi-threaded programs are also supported. The debugger can be configured to be launched when an application running outside the Visual Studio environment crashes.

The debugger allows setting breakpoints (which allow execution to be stopped temporarily at a certain position) and watches (which monitor the values of variables as the execution progresses). Breakpoints can be conditional, meaning they get triggered when the condition is met. Code can be stepped over, i.e., run one line (of source code) at a time. It can either step into functions to debug inside it, or step over it, i.e., the execution of the function body isn't available for manual inspection. The debugger supports Edit and Continue, i.e., it allows code to be edited as it is being debugged. When debugging, if the mouse pointer hovers over any variable, its current value is displayed in a tooltip ("data tooltips"), where it can also be modified if desired. During coding, the Visual Studio debugger lets certain functions be invoked manually from the Immediate tool window. The parameters to the method are supplied at the Immediate window.

Designer

Visual Studio includes a host of visual designers to aid in the development of applications. These tools include:

Windows Forms Designer

The Windows Forms designer is used to build GUI applications using Windows Forms. Layout can be controlled by housing the controls inside other containers or locking them to the side of the form. Controls that display data (like textbox, list box, grid view, etc.) can be bound to data sources like databases or queries. Data-bound controls can be created by dragging items from the Data Sources window onto a design surface. The UI is linked with code using an event-driven programming model. The designer generates either C# or VB.NET code for the application.

WPF Designer

The WPF designer, codenamed Cider, was introduced with Visual Studio 2008. Like the Windows Forms designer it supports the drag and drop metaphor. It is used to author user interfaces targeting Windows Presentation Foundation. It supports all WPF functionality including data binding and automatic layout management. It generates XAML code for the UI. The generated XAML file is compatible with Microsoft Expression Design, the designer-oriented product. The XAML code is linked with code using a code-behind model.

Web designer/development

Visual Studio also includes a web-site editor and designer that allows web pages to be authored by dragging and dropping widgets. It is used for developing ASP.NET applications and supports HTML, CSS and JavaScript. It uses a code-behind model to link with ASP.NET code. From Visual Studio 2008 onwards, the layout engine used by the web designer is shared with Microsoft Expression Web. There is also ASP.NET MVC support for MVC technology as a separate download and ASP.NET Dynamic Data project available from Microsoft.

Class designer

The Class Designer is used to author and edit the classes (including its members and their access) using UML modeling. The Class Designer can generate C# and VB.NET code outlines for the classes and methods. It can also generate class diagrams from hand-written classes.

Data designer

The data designer can be used to graphically edit database schemas, including typed tables, primary and foreign keys and constraints. It can also be used to design queries from the graphical view.

Mapping designer

From Visual Studio 2008 onwards, the mapping designer is used by LINQ to SQL to design the mapping between database schemas and the classes that encapsulate the data. The new solution from ORM approach, ADO.NET Entity Framework, replaces and improves the old technology.

Other tools

Open Tabs Browser

The open tabs browser is used to list all open tabs and to switch between them. It is invoked using CTRL+TAB.

Properties Editor

The Properties Editor tool is used to edit properties in a GUI pane inside Visual Studio. It lists all available properties (both read-only and those which can be set) for all objects including classes, forms, web pages and other items.

Object Browser

The Object Browser is a namespace and class library browser for Microsoft .NET. It can be used to browse the namespaces (which are arranged hierarchically) in managed assemblies. The hierarchy may or may not reflect the organization in the file system.

Solution Explorer

In Visual Studio parlance, a solution is a set of code files and other resources that are used to build an application. The files in a solution are arranged hierarchically, which might or might not reflect the organization in the file system. The Solution Explorer is used to manage and browse the files in a solution.

Team Explorer

Team Explorer is used to integrate the capabilities of Team Foundation Server, the Revision Control System into the IDE (and the basis for Microsoft's CodePlex hosting environment for open source projects). In addition to source control it provides the ability to view and manage individual work items (including bugs, tasks and other documents) and to browse TFS statistics. It is included as part of a TFS install and is also available as a download for Visual Studio separately.Team Explorer is also available as a stand-alone environment solely to access TFS services.

Data Explorer

Data Explorer is used to manage databases on Microsoft SQL Server instances. It allows creation and alteration of database tables (either by issuing T-SQL commands or by using the Data designer). It can also be used to create queries and stored procedures, with the latter in either T-SQL or in managed code via SQL CLR. Debugging and IntelliSense support is available as well.

Server Explorer

The Server Explorer tool is used to manage database connections on an accessible computer. It is also used to browse running Windows Services, performance counters, Windows Event Log and message queues and use them as a datasource.

Dotfuscator Software Services Community Edition

Visual Studio includes a free 'light' version of Dotfuscator by PreEmptive Solutions which performs code obfuscation and application size reduction. Starting with Visual Studio 2010, this version of Dotfuscator includes runtime intelligence capabilities that allow authors to gather end-user usage, performance, and stability information from their applications running in production.

Text Generation Framework

Visual Studio includes a full text generation framework called T4 which enables Visual Studio to generate text files from templates either in the IDE or via code.

ASP.NET Web Site Administration Tool

The ASP.NET Web Site Administration Tool allows for the configuration of ASP.NET websites.

Visual Studio Tools for Office

Visual Studio Tools for Office is a SDK and an add-in for Visual Studio that includes tools for developing for the Microsoft Office suite. Previously (for Visual Studio .NET 2003 and Visual Studio 2005) it was a separate SKU that supported only Visual C# and Visual Basic languages or was included in the Team Suite. With Visual Studio 2008, it is no longer a separate SKU but is included with Professional and higher editions. A separate runtime is required when deploying VSTO solutions.

0 comments:

Post a Comment

Subscribe to RSS Feed Follow me on Twitter!