Visual Studio 2013 is the next-generation IDE for developers of Microsoft platform applications—Windows 8.x and .NET Framework. Visual Studio 2013 provides enhanced support for prototyping, designing, and modeling and improved testing tools that let developers build Windows, web, and cloud applications. In this article, I'll provide a high-level view of the top new features and enhancements in the Visual Studio 2013 IDE. I will also briefly discuss new features introduced in .NET Framework 4.5.1, which was released concurrently with Visual Studio 2013 in mid-October 2013.
Getting Started with Visual Studio 2013
To run Visual Studio 2013 on your system, you should have Windows 7 or later installed, preferably on a system with at least 4GB of RAM. You can learn more about the system requirements to install and run each edition of Visual Studio 2013 on the Visual Studio 2013 Compatibility page. To download Visual Studio 2013, go to the Visual Studio Downloads page. After you have downloaded Visual Studio 2013, you can start the installation after mounting the ISO file or unzipping the ISO file that you downloaded. Figure 1 shows how the Visual Studio 2013 IDE appears after it has been installed and configured (I've selected General Development Settings in my system).
Code Editor Improvements
A key improvement in the Visual Studio 2013 code editor is the new Peek Definition window. Peek Definition lets you stay in the context of the code while you browse through your code in the Code Editor window. You invoke Peek Definition either by right-clicking a symbol and clicking Peek Definition from the context menu or by pressing Alt+F12, as shown in Figure 2.
You'll then see the Peek Definition window, as shown in Figure 3.
Visual Studio 2013 provides greatly enhanced navigation in the Code Editor window. Key new navigation features include Auto Brace Complete, which automatically adds closing parentheses, quotes, braces, and brackets to code while you type it in the code editor; Move Line Up/Down, which lets you use Alt+ Up Arrow/Down Arrow to move one or multiple lines up or down; and an enhanced Navigate To feature with an optimized search capability that lets you type in either part of a symbol and find its definition or type in part of a filename and immediately switch to that file.
Support for Building Windows 8.1 Store and Cloud Business Apps
Visual Studio 2013 includes project templates that let you create Windows Store applications for Windows 8.1, as well as maintain existing Windows 8 Store apps. Visual Studio 2013 also includes a new Cloud Business App template, powered by Visual Studio LightSwitch, which developers can use to build a SharePoint 2013 application that is integrated with Office 365. The cloud app can be hosted either in Windows Azure or on a Microsoft IIS server.
Better Performance, Debugging, and Optimization
Microsoft has introduced a number of performance, optimization, and debugging improvements in Visual Studio 2013. One noteworthy new feature, Memory Dump Analyzer, analyzes .NET memory heap dumps—a big help in diagnosing memory issues. Memory Dump Analyzer also helps you to detect and analyze memory usage over a period of time and memory leaks using dump (.dmp) files collected on production systems, such as the example shown in Figure 4. Note that this feature is available in Visual Studio 2013 Ultimate only; additionally, the process dump must be collected from a system that has .NET Framework 4.5 or later installed and running.
Visual Studio 2013 also provides much-improved support for diagnostics and a new testing feature. To perform memory profiling, you can now invoke the Performance Wizard, select the profiling method of your choice, and then start profiling. For testing, the new cloud-based load testing feature in Visual Studio Online lets you monitor the performance, scalability, and reliability of your applications deployed in the cloud.
Microsoft continues to improve TypeScript's Visual Studio support. For example, the latest version of TypeScript, 0.9.5, provides a new project property page where you can configure a TypeScript project and lets you add a _references.ts file to a project.
Improved ALM Support
Visual Studio Team Foundation Server (TFS) 2013, Microsoft's application lifecycle management (ALM) collaboration solution for Visual Studio, includes a number of new features to improve version control, agile development and collaboration, project planning, testing, deployment, and other phases of the software development lifecycle. For example, the useful new work-item charting feature lets developers create diverse charts from work-item queries (e.g., bugs).
Microsoft's new release management product for TFS, Release Management for Visual Studio 2013 (formerly InRelease from InCycle Software), is now available for TFS 2013. Release Management for Visual Studio 2013 works with Visual Studio Ultimate 2013, Visual Studio Premium 2013, or Visual Studio Test Professional 2013 and comprises several components: Release Management Client for Visual Studio 2013, Release Management Server for TFS 2013, and Microsoft Deployment Agent 2013. Release Management for Visual Studio 2013 helps you to manage your application releases efficiently by creating reliable, repeatable automated deployment cycles.
New Features in .NET Framework 4.5.1
The most notable improvements in .NET Framework 4.5.1 are to its debugging and diagnostics capabilities. Here's a quick look at some of the new features:
- Support for X64 Edit And Continue (EnC): The EnC feature, which lets you edit code while debugging in Visual Studio without stopping and restarting the debugging session, now is available for 64-bit environments.
- Async/await debugging: This feature improves support for asynchronous debugging in Windows Runtime (WinRT). The Visual Studio 2013 debugger includes a new Tasks window, which replaces the Parallel Tasks window from earlier versions and lets developers view tasks in an application that represent asynchronous operations.
- Multi-Core JIT: uses parallelization to reduce application startup time by decreasing the amount of time needed for just-in-time (JIT) compilation
- On-demand compaction of large object heaps: provides support for compaction of large object heaps as part of a forced garbage collection operation
- ASP.NET App Suspend: suspends websites that stay idle for a long time, thus reducing the consumption of resources and boosting the application's overall throughput
- ADO.NET idle connection resiliency: rebuilds broken and/or idle connections to SQL Server databases automatically and transparently and works both in synchronous and asynchronous modes of operation.
New Tools, Better Productivity
This article only touched the surface of the extensive set of new capabilities that Visual Studio 2013 and .NET 4.5.1 offer Microsoft platform developers. I encourage you to upgrade to the latest versions of these tools and try out their many productivity-enhancing features.