Introduction
As one member of the Microsoft Most Valuable Professinal (MVP) team and evangelist of Microsoft technologies, I've exploring Visual Studio.NET 2010 since its Beta stages over the past two years of the project. In this article, I want to write a Visual Studio.NET Quick Reference guide with the new features added to this new product. Because Microsoft, in this product, is aimed to provide a tool for everyone involved in the Application Development Lifecycle from the very architect to the developer, from the project manager to the tester; it's not just for developers.
What's new in Visual Studio.NET 2010
For the examples in this article, I've installed Visual Studio.NET 2010 Ultimate edition. After the installation, now we launch the IDE (see Figure 1).
Figure 1
As you can see, Visual Studio.NET 2010 has completely redesigned with a new UI organization in order to reduce the clutter and complexity. The IDE shell has been rewritten using Windows Presentation Foundation whereas the internal architecture of the IDE has also been redesigned using Managed Extensibility Framework offering more extensibility in the plug-ins.
Visual Studio.NET 2010 also includes F# language (a new multi-paradigm programming language), the M language (the textual modeling language) and Quadrant, the visual model designer.
Visual Studio.NET 2010 comes with Microsoft.NET Framework 4.0 and will support the development of applications for Windows 7. It will also provide the tools necessary to build applications following the parallel programming approach by using Parallel Extensions for .NET Framework, the Parallel Patterns Library and tools for debugging parallel applications to visualize parallel tasks and their runtime stacks. This is very important in order to take advantage of multi-processor systems with a very easy syntax.
The code editor in Visual Studio.NET 2010 has improved its features, for example, when a symbol is selected, then all usages of the symbols are highlighted. Enhanced docking behavior, including support for multiple monitors. Zoom in and out in the code editor. The Navigate To option to search for a symbol in the files of the solution. Generate for usage option to use classes before their definition.
The Call Hierarchy feature allows the developer to see all the methods called from and calling the current method.
IntelliSense now supports a consume-first mode in order to let the developers use undefined identifiers in order to be defined later. Visual Studio.NET 2010 helps the developer to define them.
Data binding is now supported for WPF and Silverlight applications. Just drag and drop to quickly create and bind the user interface.
Entity Framework (EF) was enhanced, in VS 2008, you could only create an Entity Data Model from the database, now you can create a database from an Entity Data Model. We have greater control in handling foreign keys. You can also use POCO (plain old CLR Objects) with EF, so it's very easy to create multi-layer applications. Lazy loading and more control on the mapping of entities to stored procedures.
From the ASP.NET point of view, now we have new templates, new field templates for URLs and email addresses, client template rendering and improvement in JavaScript IntelliSense and CSS compatibility. Deployment has improvements such as Web packaging (creating a deployment unit with the data necessary to deploy the solution including SQL scripts to be run in the deployment phase), Web configuration file transformation (to transform the Web.config from development to deployment settings). The Chart control for reporting applications. And finally, we have support for ASP.NET MVC the new framework for development of Web applications in the .NET world.
Visual Studio.NET 2010 now includes new modeling tools such as the Architecture Explorer to graphically display the projects and their artifacts as well as the relationship between them. It supports different UML diagrams (contained in a Modeling Project) such as activity diagram, component diagram, class diagram, sequence diagram and the use case diagram. It's also included a Historical Debugger to record the all events like prior function calls, method parameters, events, exceptions, etc. And finally, you can find in this version the Lab Management component to use virtualization techniques to create runtime environments for testers and developers. New enhanced version control features including gated check-in, branch visualization and build workflow, as well as developers can perform constraint checks on code during check-in based on the Architecture Layer Diagram.
For the point of view of project management, we have a new integration with Project Server for enterprise-wide project management and new features for Agile project scheduling with Excel.
From the development of Office applications, we have support for different versions of Office with a new designer supporting for building flexible UI's in WPF or Fluent and the ability to consume data with LINQ and data binding support.
From the point of view of test-driven development, we have new features in Visual Studio.NET 2010, such as Test Impact Analysis feature to provide hints on which test cases are impacted by the modification of the source code and a new test runner tool to execute a test case and to take a series of snapshots of test environments and application screen shots.
Conclusion
In this article, I've explained the new features of Visual Studio.NET 2010, so now you can use this new tool in your application development life-cycle to provide your own business solutions.