Visual Studio 2010 New Features
Find out what’s new in Visual Studio 2010 with Useful Screen Shots and Commentary.
Visual Studio (VS) is the Integrated Development Environment (IDE) from Microsoft. It is the main IDE for all sorts of platforms from Microsoft including Microsoft Windows, Windows Mobile, Windows CE, .NET Framework, .NET Compact Framework and Microsoft Silverlight, Microsoft Office Add-on developing and SharePoint. With it you can 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 (code that runs with garbage collector which provides immunity from memory leak). For the first time SharePoint is totally integrated with VS. In addition, these languages use the functionality of the .NET Framework, which provides access to key technologies that simplify the development of ASP Web applications and XML Web Services. The latest version of VS family is Visual Studio 2010 (codename Dev10), which comes with the .NET Framework 4.
When Windows 7 was released in late 2009, there was still no IDE for application development for Windows 7 OS. But in April Visual Studio 2010 comes to rescue, providing developers with new tools and a new framework – everything a developer could wish for.
There are three editions of Visual Studio 2010:
- Visual Studio Professional
- Visual Studio Premium
- Visual Studio Ultimate
There is also a Test Professional edition available, specifically meant to simplify test planning and manual test execution. In this blog post, we will focus on the new major features of VS 2010 available in the three main editions.
.NET Framework 4:
The most important new feature in VS 2010 includes is .NET Framework 4 and support for application development of Windows 7. Though beta versions and release candidates were released before, the final version of .NET Framework 4 shipped with VS 2010 and released on the very same date. The new .NET Framework comes with new language features of VB.NET, C# such as statement lambdas, implicit line continuations, dynamic dispatch, named parameters, and optional parameters.
Parallel Extensions were introduced to improve support for parallel computing. Parallel implementation of the LINQ engine PLINQ (Parallel LINQ), Task Parallel Library, which exposes parallel constructs via method calls also introduced for distributed systems.
Dynamic scripting languages like IronPython (a .NET compatible version of Python), IronRuby (a .NET compatible version of Ruby) and F# now run seamlessly due to improved support of this new version of .NET framework.
ASP.NET MVC Framework 2 is integrated in .NET Framework 4. In previous releases, ASP.NET MVC Framework had to be installed separately. The MVC framework improves support of concurrent development, unit tests and finally code reusability. The new <%: %> syntax in ASP.NET makes it easier to HTML encode output. Better support for Test Driven Development (TDD), Unit Test is included in VS 2010.
Development of Silverlight 4 (a technology developed by Microsoft similar to Adobe Flash) is now possible in VS 2010. Improved Windows Presentation Foundation (WPF) 4 includes more built-in controls, cached composition, pixel shader 3 support, layout rounding, and animation easing functions, a much improved text stack (with crisper text rendering, custom dictionary support, and selection and caret brush options).
Apart from .NET 4, VS 2010 comes with Microsoft Foundation Classes (MFC), a collection of wrapping classes for C++ programmers for native windows development. Remind that, this version of C++ is not the same version of C++ which comes with .NET 4. .NET version C++ is garbage collected, managed language which runs on .NET framework, but the native version of C++ doesn’t need any framework, a pure standard implementation of C++ while MFC provides all the things a developer needs for native Windows development.
User Interface (UI):
Also new in Visual Studio 2010 is Microsoft’s redesigned UI which reduces clutter and complexity. The support for multiple document windows and floating tool windows is improved. The new UI is redesigned with Windows Presentation Foundation (WPF) and adds support for multiple monitors which increases productivity. But some users can experience limited flexibility when moving toolbars and customizing layout, which is somewhat limited in VS 2010. The rest of the UI is more or less similar with its predecessor Visual Studio 2008. One last thing, VS 2010 starts with a nice, beautiful splash screen!
Document windows are re-engineered from scratch including support for multiple monitors. Document windows are no longer constrained to the editing frame of the IDE. You can now dock document windows to the edges of the IDE, or move them anywhere on the desktop – even to another monitor. Tool windows can now move freely between the edges of the IDE, floating outside the IDE.
Visual Studio 2010 introduces a new Editor composed of extensible objects using the Microsoft Extensibility Framework (MEF). The VS code editor is always famous for its unique technology IntelliSense, developed by Microsoft. It comes with an auto keyword completion feature, and now a programmer can add his/her custom keyword or remove keywords from IntelliSense that he or she does not want, providing better and hassle free coding.
IntelliSense provides two types of modes: ‘suggestion mode’, and ‘completion mode’. In previous Visual Studio versions, for C or C++ code editor, codes defined in preprocessor region didn’t support the auto keyword completion feature. The new IntelliSense feature can now provide auto completion even when you are in preprocessor code segment. Zooming support is also introduced for code editor. You can zoom in or out of the code editor window by pressing and holding the CTRL key and moving the scroll wheel on the mouse. (For the time being, the zoom feature does not work in other windows.) When an IntelliSense window is open, pressing CTRL+ALT+SPACEBAR toggles between keyword completion mode and suggestion mode.
When you click a symbol in the source code, all instances of that symbol are highlighted in the document. The highlighting includes declarations and references, the names of classes, objects, variables, methods, and properties.
There are also shortcuts to move to the next or the previous highlighted symbol: CTRL+SHIFT+DOWN ARROW or CTRL+SHIFT+UP ARROW.
Visual Studio Ultimate 2010 also includes a Historical Debugger for managed code called IntelliTrace. Unlike the current debugger, which records only the currently-active stack, IntelliTrace records all events like prior function calls, method parameters, events, exceptions etc. This allows the code execution to be rewound in case a breakpoint wasn’t set where the error occurred, which provides developer a lot of headache when you are not going anywhere. IntelliTrace usually causes the application to run slower than the current debugger, and uses more memory as additional data needs to be recorded. Users can configure how much data should be recorded, in effect allowing developers to balance the execution speed and resource usage.
Searching a symbol or file in the source code is enhanced through a new feature called “Navigate To”. Navigate To lets developers find a specific location in the solution or explore elements in the solution. It helps developers pick a good set of matching results from a query.
The Generate From Usage feature lets you use classes and members before defining them, focusing minimization of interrupt of your workflow. A stub for any undefined class, constructor, method, property, field, or enumeration can be generated, when you want to use these but have not yet defined. You can generate new types and members without leaving your current location in the code. For example, after declaring the class, let’s say you feel the need to add another field in the class. In a traditional code editor, you have to go back to the declaration of the class, define the variable and then go back to your working position. But the “Generate From Usage” feature lets you define the variable in class declaration readily without having to go back and forth between source files.
Another significant new feature of VS 2010 is extensions. Yes! Just like web browsers, now you can customize your favorite IDE, add new features, new tools and new shortcuts for your personal needs. Not only you can have extensions, there is an extension manager for you to manage your extensions.
The Extension Manager provides you with a categorized view of extensions sorted by rating, number of downloads and their time of arrival. It will support extensions such as Project Templates, Item Templates, VS Packages, Managed Extensibility Framework (MEF) components, and even custom extension types. Users will be able to use new features inside the VS IDE to browse, download and install content from the Visual Studio Gallery. Once installed, extensions can also be managed from within Visual Studio (view, enable/disable and uninstall).
You can disable an extension anytime you want through the extension manager. There is also a button to uninstall extensions
Note one inconvenience you may face when disabling and enabling extensions: the change only takes effect when VS is restarted.
Function Call Hierarchy:
Sometimes, when dealing with a bigger project you may want to know which function or method is calling which functions or methods. Obviously, you can do this manually by checking the definition of every function or method. But in VS 2010, the new call hierarchy tool for C++, C# and VB is introduced. With this new feature you can readily navigate all callers and callees of a method (see below.)
The help system of new VS has undergone a thorough overhaul. As a matter of fact, the previous help system (Microsoft Help System 2.x) is removed and a completely re-engineered new help system (Help3) is developed. Previous versions of VS come with a document explorer, which is used to display and search help documents saved offline in the computer. Personally, I have never liked document explorer. It’s bloated, resource hungry, very loosely coupled with the main IDE, and above all, there was no need for another program just to show some HTML pages. HTML pages can viewed in any browser, so what’s the point wasting resources for some crappy tool like document explorer?
Some of the resulting improvements include:
- Correctly resolving WPF vs. Silverlight topics
- Addressing version confusion between .NET 3.5 and .NET 4.0 topics (across different editors)
- Enabling multi-targeting for .NET Framework versions < 3.5
- Resolving indeterminate results between class topics and member topics across the entire managed reference space
The main advantage is getting rid of the previous bloated help document viewer. The new help system doesn’t need any extra programs to run, and rather you can view and search any help document in your favorite web browser.
Another noteworthy change in Visual Studio 2010 is that support for Windows XP Service Pack 2 and other prior versions is revoked. That means you must have at least Windows XP Service Pack 3 to install new VS 2010.
VS 2010 is the next generation of developer tools developed by Microsoft that provides you a single integrated development environment with prototyping, designing, modeling, and testing tools to build Windows Desktop Operating System, Windows Server, Azure Cloud Services and web applications seamlessly. We’ve examined the new features and enhancements in Visual Studio 2010 and how programmers can leverage those features in designing applications. It’s the best tool available in the market for Windows development and also for development of the platform invented by Microsoft.