ABSTRACT


Microsoft® Visual Studio® 2010 is an integrated environment that simplifies creating, debugging and deploying applications. Unleash your creativity and bring your vision to life with powerful design surfaces and innovative collaboration methods for developers and designers. Work within a personalized environment, targeting a growing number of platforms, including Microsoft SharePoint® and cloud applications and accelerate the coding process by using your existing skills. Integrated support for Test-First Development and new debugging tools let you find and fix bugs quickly and easily to ensure high quality solutions.

The new Microsoft Visual Studio 2010 simplifies the entire development process, from design to deployment. New prototyping, modeling, and design tools help unleash your creativity and bring your vision of life. Coding is faster than ever, since you can leverage existing code and skills to write application targeting different platforms, including SharePoint® and Windows® AzureTM applications. What’s more, developers and testers will work better together and save time with integrated testing and debugging tools. You’ll find and fix bugs quickly to make sure your solution is at the highest possible quality.

This release of Visual Studio has plenty of compelling new features — and some key updates that will make every developer using it a whole lot happier with their favorite IDE. But seeing it in action — and actually getting your hands on the product and using it — is what’ll convince you that this only will they change the way teams develop applications. . . they’ll change how businesses do business.


 INTRODUCTION


Visual Studio:

Visual Studio is a suite of component-based development tools and other technologies for building powerful, high-performance applications. In addition, Visual Studio is optimized for team-based design, development, and deployment of enterprise solutions.

Microsoft Visual Studio is an Integrated Development Environment (IDE) from Microsoft. It can be used to develop console and graphical user interface applications along with Windows Forms applications, web sites, web applications, and web services in both native code together with managed code for all platforms supported by Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silverlight.

Visual Studio includes a code editor supporting IntelliSense as well as code refactoring. The integrated debugger works both as a source-level debugger and a machine-level debugger. Other built-in tools include a forms designer for building GUI applications, web designer, class designer, and database schema designer. It accepts plug-ins that enhance the functionality at almost every level—including adding support for source control systems (like Subversion and Visual SourceSafe) to 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 languages by means of language services, which allow 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++ (via Visual C++), VB.NET (via Visual Basic .NET), and C# (via Visual C#). Support for other languages such as F#, M, Python, and Ruby among others is available via language services installed separately. It also supports XML/XSLT, HTML/XHTML, JavaScript and CSS. Language-specific versions of Visual Studio also exist which provide more limited language services to the user. These individual packages are called Microsoft Visual Basic, Visual J#, Visual C#, and Visual C++.

Starting from Visual studio 97 to Visual Studio 2010, Microsoft worked on different versions of it as Visual Studio 6.0 in 1998 then evolution of .NET lead to Visual Studio .NET 2002, 2003 then Visual Studio 2005 and 2008. Now we saw the release of Microsoft Visual Studio 2010 on April 12, 2010.

Microsoft® Visual Studio® 2010 is an integrated environment that simplifies creating, debugging and deploying applications.  The new Microsoft Visual Studio 2010 simplifies the entire development process, from design to deployment. Coding is faster than ever, since we can leverage existing code and skills to write applications targeting different platforms, including SharePoint and Windows Azure.

This release of Visual Studio has plenty of compelling new features — and some key updates that will make every developer using it a whole lot happier with their favorite IDE. But seeing it in action — and actually getting your hands on the product and using it — is what’ll convince you that this edition's new features and tools are truly breakthroughs. Not only will they change the way teams develop applications . . . they’ll change how businesses do business.

.NET Framework:

The .NET Framework is an integral Windows component that supports building and running the next generation of applications and XML Web services. The .NET Framework is designed to fulfill the following objectives:

To build all communication on industry standards to ensure that code based on the .NET Framework can integrate with any other code.

The .NET Framework has two main components: the common language runtime and the .NET Framework class library. The common language runtime is the foundation of the .NET Framework. You can think of the runtime as an agent that manages code at execution time, providing core services such as memory management, thread management, and remoting, while also enforcing strict type safety and other forms of code accuracy that promote security and robustness. In fact, the concept of code management is a fundamental principle of the runtime. Code that targets the runtime is known as managed code, while code that does not target the runtime is known as unmanaged code. The class library, the other main component of the .NET Framework, is a comprehensive, object-oriented collection of reusable types that you can use to develop applications ranging from traditional command-line or graphical user interface (GUI) applications to applications based on the latest innovations provided by ASP.NET, such as Web Forms and XML Web services.

The .NET Framework can be hosted by unmanaged components that load the common language runtime into their processes and initiate the execution of managed code, thereby creating a software environment that can exploit both managed and unmanaged features. The .NET Framework not only provides several runtime hosts, but also supports the development of third-party runtime hosts.

For example, ASP.NET hosts the runtime to provide a scalable, server-side environment for managed code. ASP.NET works directly with the runtime to enable ASP.NET applications and XML Web services, both of which are discussed later in this topic.

Internet Explorer is an example of an unmanaged application that hosts the runtime (in the form of a MIME type extension). Using Internet Explorer to host the runtime enables you to embed managed components or Windows Forms controls in HTML documents. Hosting the runtime in this way makes managed mobile code (similar to Microsoft® ActiveX® controls) possible, but with significant improvements that only managed code can offer, such as semi-trusted execution and isolated file storage.

The following illustration shows the relationship of the common language runtime and the class library to your applications and to the overall system. The illustration also shows how managed code operates within a larger architecture.


.NET Framework in context

Features of the Common Language Runtime:

The common language runtime manages memory, thread execution, code execution, code safety verification, compilation, and other system services. These features are intrinsic to the managed code that runs on the common language runtime. With regards to security, managed components are awarded varying degrees of trust, depending on a number of factors that include their origin (such as the Internet, enterprise network, or local computer). This means that a managed component might or might not be able to perform file-access operations, registry-access operations, or other sensitive functions, even if it is being used in the same active application.

The runtime enforces code access security. For example, users can trust that an executable embedded in a Web page can play an animation on screen or sing a song, but cannot access their personal data, file system, or network. The security features of the runtime thus enable legitimate Internet-deployed software to be exceptionally featuring rich.

        

The runtime also enforces code robustness by implementing a strict type-and-code-verification infrastructure called the common type system (CTS). The CTS ensures that all managed code is self-describing. The various Microsoft and third-party language compilers generate managed code that conforms to the CTS. This means that managed code can consume other managed types and instances, while strictly enforcing type fidelity and type safety.

In addition, the managed environment of the runtime eliminates many common software issues. For example, the runtime automatically handles object layout and manages references to objects, releasing them when they are no longer being used. This automatic memory management resolves the two most common application errors, memory leaks and invalid memory references.

The runtime also accelerates developer productivity. For example, programmers can write applications in their development language of choice, yet take full advantage of the runtime, the class library, and components written in other languages by other developers. Any compiler vendor who chooses to target the runtime can do so. Language compilers that target the .NET Framework make the features of the .NET Framework available to existing code written in that language, greatly easing the migration process for existing applications.

While the runtime is designed for the software of the future, it also supports software of today and yesterday. Interoperability between managed and unmanaged code enables developers to continue to use necessary COM components and DLLs.

The runtime is designed to enhance performance. Although the common language runtime provides many standard runtime services, managed code is never interpreted. A feature called just-in-time (JIT) compiling enables all managed code to run in the native machine language of the system on which it is executing. Meanwhile, the memory manager removes the possibilities of fragmented memory and increases memory locality-of-reference to further increase performance.

Finally, the runtime can be hosted by high-performance, server-side applications, such as Microsoft® SQL Server™ and Internet Information Services (IIS). This infrastructure enables you to use managed code to write your business logic, while still enjoying the superior performance of the industry's best enterprise servers that support runtime hosting.

.NET Framework Class Library:

The .NET Framework class library is a collection of reusable types that tightly integrate with the common language runtime. The class library is object oriented, providing types from which your own managed code can derive functionality. This not only makes the .NET Framework types easy to use, but also reduces the time associated with learning new features of the .NET Framework. In addition, third-party components can integrate seamlessly with classes in the .NET Framework.

For example, the .NET Framework collection classes implement a set of interfaces that you can use to develop your own collection classes. Your collection classes will blend seamlessly with the classes in the .NET Framework.

As you would expect from an object-oriented class library, the .NET Framework types enable you to accomplish a range of common programming tasks, including tasks such as string management, data collection, database connectivity, and file access. In addition to these common tasks, the class library includes types that support a variety of specialized development scenarios. For example, you can use the .NET Framework to develop the following types of applications and services:

   

For example, the Windows Forms classes are a comprehensive set of reusable types that vastly simplify Windows GUI development. If you write an ASP.NET Web Form application, you can use the Web Forms classes.

.NET Framework 4.0:

The .NET Framework 4 introduces an improved security model. For more information, see Security Changes in the .NET Framework 4.

Other new features and improvements in the .NET Framework 4 are described in the following sections:

   


Application Compatibility and Deployment

The .NET Framework 4 is highly compatible with applications that are built with earlier .NET Framework versions, except for some changes that were made to improve security, standards compliance, correctness, reliability, and performance.

The .NET Framework 4 does not automatically use its version of the common language runtime to run applications that are built with earlier versions of the .NET Framework. To run older applications with .NET Framework 4, you must compile your application with the target .NET Framework version specified in the properties for your project in Visual Studio, or you can specify the supported runtime with the <supportedRuntime> Element in an application configuration file.

If your application or component does not work after .NET Framework 4 is installed, please submit a bug on the Microsoft Connect Web site. You can test compatibility as described in the .NET Framework 4 Application Compatibility topic and learn about new features by using the Visual Studio 2010 and .NET Framework 4 Walkthroughs. For additional information and known migration issues, visit the .NET Framework Compatibility blog.

Core New Features and Improvements

Earlier versions of the .NET Framework provided no way to determine whether a particular application domain was affecting other application domains, because the operating system APIs and tools, such as the Windows Task Manager, were precise only to the process level. Starting with the .NET Framework 4, you can get processor usage and memory usage estimates per application domain.

You can monitor CPU and memory usage of individual application domains. Application domain resource monitoring is available through the managed and native hosting APIs and event tracing for Windows (ETW). When this feature has been enabled, it collects statistics on all application domains in the process for the life of the process. See the new AppDomain.MonitoringIsEnabled property.

You can now access the ETW events for diagnostic purposes to improve performance. For more information, see CLR ETW Events and Controlling .NET Framework Logging. Also see Performance Counters and In-Process Side-By-Side Applications.

The .NET Framework 4 provides background garbage collection. This feature replaces concurrent garbage collection in previous versions and provides better performance. For more information, see Fundamentals of Garbage Collection.

Code contracts let you specify contractual information that is not represented by a method's or type's signature alone. The new System.Diagnostics.Contracts namespace contains classes that provide a language-neutral way to express coding assumptions in the form of preconditions, postconditions, and object invariants. The contracts improve testing with run-time checking, enable static contract verification, and support documentation generation. For more information, see Code Contracts.


Managed Extensibility Framework

The Managed Extensibility Framework (MEF) is a new library in the .NET Framework 4 that helps you build extensible and composable applications. MEF enables you to specify points where an application can be extended, to expose services to offer to other extensible applications and to create parts for consumption by extensible applications. It also enables easy discoverability of available parts based on metadata, without the need to load the assemblies for the parts.

Parallel Computing

The .NET Framework 4 introduces a new programming model for writing multithreaded and asynchronous code that greatly simplifies the work of application and library developers. The new model enables developers to write efficient, fine-grained, and scalable parallel code in a natural idiom without having to work directly with threads or the thread pool. The new System.Threading.Tasks namespace and other related types support this new model. Parallel LINQ (PLINQ), which is a parallel implementation of LINQ to Objects, enables similar functionality through declarative syntax. For more information, see Parallel Programming in the .NET Framework.


WHAT’S NEW


Visual Studio IDE improvements:

Simplified appearance and new behaviors

Visual enhancements  

The IDE — the entire shell and editor experience – has been redesigned (based on Windows Presentation Foundation, no less) for improved readability. Unnecessary lines and gradients have been removed to reduce clutter, making it easier for you to stay focused on the work at hand.

Multiple monitor support      

Now we can bring document windows like the Code Editor and design view outside the IDE window. This means we’re able to view the Code Editor and the design view window side by side. We will be able to edit multiple code files without starting up multiple copies of Visual Studio.


Visual Studio 2010 IDE ( Design View )


Visual Studio 2010 IDE ( XAML View )


Explore code more quickly

Updated Code Editor

The new Code Editor makes code easier to read and scan. Zoom in on text by simply pressing CTRL while scrolling your mouse wheel. You can now quickly highlight all instances of any symbol in Visual C# ® or Visual Basic ® just by clicking it.

Navigate To

Finally, search-as-you-type is supported for everything in a solution, including file names, text, symbols, and comments. We no longer have to decide among Quick Find, Find in File, Look in Current Document, and so on. Access the Navigate To function using the keyboard shortcut CTRL+COMMA.

Call hierarchy

Easily navigate from a member to the members that call it and to the members that it calls.  This is especially useful for exploring object- oriented code.

C# and Visual Basic languages: Your choice for the full power of .NET

Dynamic support in both languages now makes it straightforward to interoperate with the new dynamic languages IronPython and IronRuby, and to interoperate with the Document Object Model in Silverlight Web pages.

Microsoft Office programming has been made dramatically easier. Both languages now support late-binding and named and optional parameters, making it easier to call COM APIs. Plus, the new feature of type embedding simplifies your deployment by allowing you to no longer ship Primary Interop Assemblies — the relevant types can be embedded directly in your own assembly.

Everyday code has been made easier to write, with features now in both languages, such as auto- implemented properties and collection initializers and array literals. The type system of both languages has

Both languages now support statement lambdas, which are particularly useful for the new Task Parallel Library and Parallel LINQ.

 

Each language also has its own characteristic enhancements. C# has a dynamic keyword to restrict the scope of late-binding. Visual Basic has implicit line continuations that let you split statements or LINQ queries over multiple lines.

Now it’s easier to stay compatible with different versions of the .NET Framework: multi-targeting lets you develop a project in Visual Studio 2010, using the new features of both languages, while still targeting an earlier version of .NET. And side-by-side lets a single .NET executable link with assemblies built against different versions of the framework.


Visual C++ ® development.

User experience

A number of improvements have been made to make the Visual C++ IDE more responsive, especially when you work with large applications. Many IDE components, like the IntelliSense engine, parse and don’t have to wait for Visual Studio to re-process  the entire project when you just modify a header  your project from debug to release.

You also get more accuracy from the updated IntelliSense features — it handles advanced C++ that the old version couldn’t process.

 Targeting specific compilers and libraries

In Visual Studio 2010, Visual C++ projects can target either the toolset in Visual Studio 2010 or in Visual Studio 2008. You get the IDE enhancements in Visual Studio 2010 while using an older version of the Visual C++ libraries and compiler. To switch between toolsets, you only have to change one property in your project file.  

Build improvements.

 Visual C++ projects use a new file format (.vcxproj) that replaces the old format (.vcproj). To build projects, you now use MSBuild.exe instead of VCBuild.exe. MSBuild is the build platform for Microsoft that includes better diagnostics, extensibility, and integration.

Windows 7 support

Visual Studio 2010 adds support to a number of  Windows® 7 and Windows Vista® features in  Multi-touch support makes it easy to take advantage  of multi-touch input and manipulation. A new Windows 7 look-and-feel for the MFC Ribbon and a visual designer for the Ribbon interface make modernizing your application’s UI a breeze. Applications can also light up on the Windows 7 shell through MFC support for Jump Lists, Aero thumbnails in the task bar, finally, restart manager support lets your application restart itself and restore automatically saved user data

in cases of accidental restarts.

New C++0x language features

The Visual C++ compiler introduces five new features to support the C++0x standard:

Code generation enhancements

The Visual C++ compiler in Visual Studio 2010 made some noteworthy improvements in compilation speed for some key scenarios:


Visual F# development

With Visual Studio 2010, you can use the F# language for application and component development. F# is a new .NET programming language based on a combination of functional programming and object-oriented programming.  

The F# language is ideally suited for parallel, algorithmic, explorative, and technical programming tasks.  Important features include:

Features of the Visual Studio 2010 Release of Visual F#

Features of F# that are available in the first release of Visual F# are:

Support for Functional Programming

Functions are treated as values, and can be passed directly to other functions. This feature makes it easy to code higher-order functions (functions that operate on functions). This makes it easy to write more declarative code, which tends to be less error-prone.

F# supports compositional programming. You can compose and call functions in sequence by using simple operator syntax. You can combine function calls by using the pipeline operator, which enables the output or return value of one function to be given to another function as input. You can also define new functions by combining functions by using the composition operator.

Lambda Expressions

Lambda expressions enable functions to be defined in place, without having to be named.

Useful Data Types

F# provides types that support functional programming styles, such as tuples for simple collections of data and discriminated unions for structured symbolic data.

Immutable Data Types

F# provides immutable data structures, such as immutable lists, maps, sets, sequences, and records.

Pattern Matching

The pattern matching functionality allows you to decompose data into constituent parts and perform complex branching based on the decomposition of data. Pattern matching is also extensible.

Asynchronous and Parallel Programming

F# supports asynchronous programming, and includes constructs that make this programming easier than ever. For more information, see Asynchronous Workflows (F#). F# can also be used in conjunction with the Parallel Extensions to the .NET Framework. With the F# Power Pack, you can also use Parallel LINQ (PLINQ) with F#. For more information, see Parallel Programming in the .NET Framework.

Interactive Programming

Visual F# includes an F# interpreter, F# Interactive (fsi.exe), which compiles and executes code interactively. This enables you to easily prototype your code and try coding constructs without needing to compile a project. F# Interactive is also integrated with the Visual Studio IDE.

Delayed Computations

F# supports lazy computation, which enables you to delay a calculation until a result is needed. For more information, see Lazy Computations (F#).

Support for Object Oriented Programming

F# supports object-oriented language features that give F# programs full access to the .NET Framework, in addition to letting you produce .NET Framework APIs in F#. For more information, see Classes (F#), Members (F#), and Inheritance (F#).

Support for Imperative Programming

F# supports imperative code constructs such as mutable variables and arrays, functions that have side effects, and looping constructs, for situations in which this kind of programming is the best way to solve a problem.

Support for Mathematical Calculations

F# supports mathematical calculations. This includes operator overloading support, operators that work with generics, and a full set of mathematical operators, including an exponentiation operator.

F# also features support for floating-point data that has associated units of measure, which enables unit-checked floating-point formulas.

Advanced Type System

F# supports generic programming.

F# is a statically typed language that supports type inference. This means that all program elements have a definite type at compile time, guaranteeing type safety, but that you do not have to specify the types of every value explicitly. Because the F# compiler can frequently infer the type of a program element without an explicit type being provided, code is more compact and some types of programming errors associated with type mismatches are reduced. Type inference also includes automatic generalization, which means that functions that can be generic are automatically compiled as generic.

Useful Libraries

Visual F# includes a set of libraries that provide support for the core language, collection types, reflection over F# assemblies, and formatted I/O. F# also provides access to the full functionality of .NET Framework 4, such as the Parallel Extensions to the .NET Framework and Windows Presentation Foundation.


What's New in the Visual Studio 2010 Editor

New and enhanced editor features those are available in Visual Studio 2010:

New in Visual Studio 2010

Enhanced Docking Behavior

Document windows are no longer constrained to the editing frame of the integrated development environment (IDE). You can now dock document windows to the edges of the IDE, or move them anywhere on the desktop (this includes a second monitor). If two related document windows are open and visible, for example, a designer view and an editor view of the same Windows Form, changes that were made in one window will immediately take effect in the other window.

Tool windows can now move freely between docking at the edges of the IDE, floating outside the IDE, or filling part or the entire document frame. They remain in a dockable state at all times.

Zoom

In any code editing window or text editing window, you can quickly zoom in or out by pressing and holding the CTRL key and moving the scroll wheel on the mouse. You can also zoom textual tool windows, for example, the Output window. The zoom feature does not work on design surfaces or on tool windows that contain icons, for example, the Toolbox or Solution Explorer.

Box Selection

In previous releases of Visual Studio, you could select a rectangular region of text by holding down the Alt key while selecting a region with the mouse. You could then copy or delete the selected text. VS 2010 adds the following new capabilities to the box selection feature:

You can use these capabilities to rapidly operate on groups of statements, such as changing access modifiers, setting fields, or adding comments

Call Hierarchy

Call Hierarchy, which is available in Visual C# and Visual C++, displays the following parts of your code so that you can navigate through it more effectively:

This can help you better understand how code flows, evaluate the effects of changes, and explore possible execution paths by examining complex chains of method calls and other entry points in several levels of code.

Call Hierarchy is available at design time, unlike the call stack that is displayed by the debugger.

The member name appears in a pane of the Call Hierarchy window. If you expand the member node, Calls To member name and Calls From member name sub nodes appear. If you expand the Calls To node, all members that call the selected member are displayed. If you expand the Calls From node, all members that are called by the selected member are displayed. You can also expand the sub node members into Calls To and Calls From nodes. This lets you navigate into the stack of callers.

Navigate To

You can use the Navigate To feature to search for a symbol or file in the source code. Navigate To lets you find a specific location in the solution or explore elements in the solution. It helps you pick a good set of matching results from a query.

You can search for keywords that are contained in a symbol by using Camel casing and underscore characters to divide the symbol into keywords.

Highlighting References

When you click a symbol in the source code, all instances of that symbol are highlighted in the document.

The highlighted symbols may include declarations and references, and many other symbols that Find All References would return. These include the names of classes, objects, variables, methods, and properties.

In Visual Basic code, keywords for many control structures are also highlighted.

To move to the next or the previous highlighted symbol, press CTRL+SHIFT+DOWN ARROW or CTRL+SHIFT+UP ARROW.

Generate From Usage

The Generate From Usage feature lets you use classes and members before you define them. You can generate a stub for any undefined class, constructor, method, property, field, or enum that you want to use but have not yet defined. You can generate new types and members without leaving your current location in code, This minimizes interruption to your workflow.

Generate From Usage supports programming styles such as test-first development.

IntelliSense Suggestion Mode

IntelliSense now provides two alternatives for IntelliSense statement completion, completion mode and suggestion mode. Use suggestion mode for situations where classes and members are used before they are defined.

In suggestion mode, when you type in the editor and then commit the entry, the text you typed is inserted into the code. When you commit an entry in completion mode, the editor shows the entry that is highlighted on the members list.

When an IntelliSense window is open, you can press CTRL+ALT+SPACEBAR to toggle between completion mode and suggestion mode.


Moving to Visual Studio 2010


Dimension of Visual Studio 2010:

Web Development

Visual Studio 2010 continues to improve on our web development tools by providing better Intellisense support for JavaScript and new HTML code snippet functionality. You’ll also find the inclusion of ASP.NET MVC as well as improvements to ASP.NET WebForms and AJAX. The addition of .NET RIA Services to the framework makes it easier to build n-tier applications by combining the ASP.NET and Silverlight platforms.

When you are ready to deploy your application, use the new “One Click Deployment” feature that integrates a powerful deployment tool (MS Deploy) into Visual Studio to package the code, data and configuration of your application and deploy it to a web server.

Parallel Programming

With Visual Studio 2010 and the .NET Framework 4, Microsoft makes a strong commitment to parallel programming and to enabling developers to continue providing great applications for the parallel age. Visual Studio includes new support for parallel programming including a new parallel debugging window and parallel profiling tools.

The .NET Framework 4 comes with new extensions for parallel programming including additions to the threading model and the ability to declaratively define data parallelism via PLINQ. For C++ developers, there is a new Parallel Pattern Library that makes use of lambda functions and aligns well with STL.

Cloud Development

In Visual Studio 2008 we invested heavily in supporting JavaScript in the Visual Studio IDE and debugger. In Visual Studio 2010 we’re continuing that investment with a higher performance and standards compliant JavaScript IntelliSense engine. These investments enabled Microsoft to announce their involvement with the JQuery group and Visual Studio 2010 will be the first version of Visual Studio to ship JQuery as a native part of the ASP.nET solution set.

Deployment of websites has been a challenge for developers for many years and Visual Studio 2010 has full IDE support for a simplified deployment process for ASP.NET websites. Called “One Click Deployment”, this process and IDE support provides a wizard, dialogs and design surfaces that make it simple for developers to identify the components of a website that need to be deployed and handle the process of moving them from the development machine to the web server, whether that is an internal server for the organization or a server hosted by a 3rd party site.

Understanding and Writing Code

As the complexity of applications grows, so does the challenge of understanding the code that you’re working on. With Visual Studio 2010 the IDE provides integrated support for understanding what is happening in the code section that you’re viewing.

The editor in Visual Studio 2010 has been rebuilt using the Windows Presentation Foundation (WPF) technology. WPF enables the editor to richly present information about the code in the context of presenting the actual source. This ability enables features such as the “Document Map Margin” to render a graphical view of the source file including information such as layout, code coverage, symbol highlights and comments. A new Call Hierarchy tool window enables a developer to select an entity or method and see how the code calls inwards or outwards or passes the entity in and out of the code section, providing developers with the ability to understand the interaction of the code without needing to juggle multiple files.

SharePoint Development

Microsoft Visual Studio 2010 marks a major advance in usability and functionality for SharePoint developers.

You can use the new Visual Studio project templates to quickly create or update SharePoint elements such as list definitions, list instances, site definitions, workflows, event receivers, business Data Catalog models, and content types. In addition, you can use Server Explorer to browse a SharePoint site and its content. you can also import existing SharePoint content using the WSP Importer, allowing you to easily edit its code using Visual Studio 2010.

Windows 7 Development

In Visual Studio 2010 we’ve invested heavily in C++ to make developing native Windows applications easier and more productive. We are adding tools to assist developers in building new Windows 7 applications and in making existing native applications take advantage of new Windows features. We’re including full library and header support for Windows 7, significant updates to MFC to support Windows 7 UI elements like the ribbon, live icons, search access and even support for multi-touch enabled interfaces.

For developers building WPF based applications Visual Studio 2010 delivers improvements to the WPF design surfaces with richer graphical editing features, better alignment to underlying WPF functionality and integrated data binding from the properties grid and data sources windows.

Office Business Applications

In Visual Studio 2010 developers will be able to build Office client applications that span multiple versions of Office, either 32 or 64-bit and deliver these as a single deployment package. The creation of the deployment packages is assisted through the provision of a deployment design surface that developers can use to graphically assemble the package that the end-user will install. Not only is the creation of the package easier by the ability to leverage “ClickOnce”, CD or Web installs enable developers and IT Professionals to use the appropriate technology to get these applications onto the end user machines.

Visual Studio Team System 2010

Among the great new functionality in Visual Studio Team System 2010:

Key to a shared understanding of the application is the use of modeling tools. Modeling has traditionally been done by professional architects and system designers. Our approach is to enable both technical and non-technical users to create and use models to collaborate and to define business and system functionality graphically.


TOP FEATURES


For developers:

Build innovative customizations  for SharePoint

Develop applications for Windows 7  

Understand existing code  and architecture

Identify test impact from  code changes

Customize Visual Studio to fit your style

For testers:

Enjoy deep collaboration with the development team

Fast forward through manual tests

Reproduce bugs on a common virtualized environment

Automatically attach context to bugs

Enjoy full visibility to the test progress

For project managers:

New dashboards keep the team in sync

Agile planning templates help  the estimation process  

Requirements traceability keeps stakeholders informed

Visual Studio Team Web Access eases reporting pains

New reports help enable proactive project management

For User-Experience and Graphic Designers:

Sketch Flow for rapid prototyping and sharing

Integration with the development team via Team Foundation Server

Improved HTML and CSS editing with support for CSS 2.1 standard

Improved sharing of XAML assets

New Silverlight design support


VISUAL STUDIO 2010 AND ITS PRODUCT FAMILY


Visual Studio 2010 Professional Trial

The essential tool for individuals performing basic development tasks. It simplifies the creation, debugging, and deployment of applications on a variety of platforms including SharePoint and the Cloud. Visual Studio 2010 Professional comes with integrated support for test-driven development, as well as debugging tools that help ensure high-quality solutions.

Microsoft Visual Studio 2010 Professional comes with a range of features that enable developers to build, debug, unit test, and deploy high-quality applications on a diverse range of platforms including Windows, the Web, the Cloud, Office and SharePoint, and more.

 Visual Studio 2010 Premium Trial

A complete toolset that simplifies application development for individuals or teams, allowing the delivery of scalable, high-quality applications. Whether writing code, building databases, testing, or debugging, you can increase your productivity using powerful tools that work the way you work.

Microsoft Visual Studio 2010 Premium simplifies common tasks, giving you the freedom to design, code, test, and deploy applications on a variety of platforms. Visual Studio 2010 Premium comes with powerful editing and visual design features, as well as advanced code analysis, debugging, and testing tools that let you spend more time creating rich applications and less time debugging.

Visual Studio 2010 Ultimate Trial

The comprehensive suite of application lifecycle management tools for teams to ensure quality results, from design to deployment. Whether you’re creating new solutions or enhancing existing applications, Visual Studio 2010 Ultimate lets you bring your vision to life targeting an increasing number of platforms and technologies—including cloud and parallel computing.

Microsoft Visual Studio 2010 Ultimate comes packed with powerful tools that simplify the entire application development process from start to finish. Teams can realize increased productivity and cost savings by utilizing advanced collaboration features as well as integrated testing and debugging tools that help ensure that you deliver high-quality code every time.

Visual Studio 2010 Test Professional Trial

A specialized toolset for quality assurance teams that simplifies test planning and manual test execution. Test Professional works in conjunction with Visual Studio software for developers, enabling effective collaboration between developers and testers throughout the application development lifecycle.

Microsoft Visual Studio Test Professional 2010 is loaded with testing and lab-management features that streamline the testing process. Test teams can thoroughly test and debug application code, as well as effectively collaborate with developers and other project members.


Visual Studio Team Foundation Server 2010 Trial

The collaboration platform at the core of Microsoft’s application lifecycle management solution that helps enable teams to reduce risk, streamline interactions and eliminate waste throughout the software delivery process.

Visual Studio 2010 Express

A set of free tools which offers you an exciting experience with the new integrated development environment, a new editor built in Windows Presentation Foundation (WPF) and support for the new .NET Framework 4.

Unleash your Creativity!

The Visual Studio® 2010 Express is a set of free tools which offers you an exciting experience with the new integrated development environment, a new editor built in Windows® Presentation Foundation (WPF) and support for the new .NET Framework 4.

Powerful Set of Free Tools

Choose the language that's right for you.

Microsoft® Visual Web Developer® 2010 Express is an easy to use        environment for dynamic Web application development.

Microsoft® Visual Basic® 2010 Express is ideal for the developer learning to program on Microsoft® Windows®.

Microsoft® Visual C#® 2010 Express offers a greater combination of power and productive for Windows developers building on .NET.

Microsoft® Visual C++® 2010 Express provides developers the horsepower with a finer degree of control than the other Visual Studio Express productions.

Features

Visual Studio® 2010 Express supports the new .NET Framework 4.

Visual Studio® 2010 Express products have a new integrated development environment (IDE) including a new Windows Presentation Framework code editor.

In this new release, Visual Studio® 2010 Express gains multi-monitor support as well as part of the new IDE.

Unique to Visual Studio® 2010 Express is a new streamlined user experience that focuses on the most common commands by hiding some of the more advanced menus and toolbars. These are easily accessible by users via the Tools / Settings menu.


REFERENCES


MSDN

http://msdn.microsoft.com/en-us/library/dd831853(v=VS.100).aspx

TechNet

http://social.technet.microsoft.com/profile/en-US?user=Visual%20Studio%202010

Bing

http://www.bing.com/

Microsoft Visual Studio

www.microsoft.com/visualstudio/2010/overview.mspx

Unlock Windows

http://www.unlockwindows.com/search/label/Visual%20Studio

1