Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Microsoft Visual Studio 2013 Review

I admit it: I've been an avid Visual Studio user since the IDE's introduction. The original product represented a major milestone for Microsoft because it brought together for the first time the company's collection of languages under one umbrella. Essentially, it became the Microsoft Office suite for developers. Nearly 15 years later, Visual Studio is the default development environment for developing Windows applications, ranging from traditional WinForms to the latest WinRT creations.

What's New?

Visual Studio 2013 (VS2013) is another release that adds important new technologies that I'll touch upon shortly. Among the most visible are some cosmetic changes, such as more than 400 modified icons that update the UI to a more colorful Windows 8 look. Others changes are nifty code editing efficiencies that appeared first in Visual Studio Power Tools add-ons, but are now officially integrated and supported. For example, editing improvements such as in-line code navigation and automatic bracket completion. But my favorite code editing improvement is the new scrollbar behavior: "Bar mode" is the traditional scrollbar operation, while "map mode" is something seen only in a few editors such as Sublime Text. In the VS2013 implementation, a miniaturized representation of the entire file being edited appears in a thin window down the right side of the edit panel (Figure 1). The map highlights the section of code that your cursor is located in and allows you to zoom in, thereby facilitating navigation in a large source file.

Figure 1: The new Map Bar feature that appears on the right of code-editing pages.

Other code enhancements include the in-line Peek Definition view from the Go To Definition context-sensitive menu option, automatic bracket completion, and the ability to move blocks of code via the a keyboard shortcut (which can be changed in the Tools -> Options -> Environment -> Keyboard dialog). Check out Microsoft's Visual Studio tips and tricks page for other useful keyboard shortcuts.

For Web development, the editor has been updated to support the latest HTML5 and CSS tags, and it is IntelliSense-enabled. And seeing how audio and video file elements dragged into the code window are wrapped inside appropriate HTML5 tag structures is a great help.

Another long overdue feature I was glad to see is VS2013's ability to edit-and-continue native 64-bit application debugging sessions. Considering that the majority of new enterprise applications are 64-bit, this improvement finally brings the 64-bit development experience to parity with the 32-bit step-debugging tools we have come to expect in any modern IDE.

On the code management front, the latest Team Foundation Server is supported along with the addition of the Git distributed SCM that has all but replaced Subversion as the default open-source code-management solution. And very helpful code changeset pop-ups embedded within the code quickly show exactly who wrote what (Figure 2).

Figure 2: Git support includes pop-up windows that show who did what.

There are a host of Windows 8.1-specific support enhancements as well, especially in the development of XAML-centric applications. For example, the XAML editor now supports a comprehensive set of IntelliSense options ranging from data and template binding, to finding references and Go To Definitions, to better integration with Microsoft's Azure Mobile Services for cloud-based hosting. Microsoft's standalone Blend designer tool also includes better styling and timeline capabilities to help speed up XAML interface development. And VS2013 now provides XAML performance analyzers to measure responsiveness, energy consumption, memory, and other metrics. They are especially helpful, though, in diagnosing delays in responses.

Figure 3: VS2013 offers performance analysis for XAML UI Responsiveness among other metrics.

Visual C++ has also received some well-deserved attention in VS2013, including better support for the C++11 specification (constructor delegation, explicit conversion operators, and variadic templates to name a few). A new Profile Guided Optimization leverages VS2013's improved profiling tools by allowing you to refine your C++ program based on visualizing the hotter and colder code paths.

Cloud And Web

VS2013 also supports Office 365 Cloud Business application development. With rumors swirling that a fully implemented Microsoft Office suite will one day make it to Android and iOS platforms, this technology has tantalizing possibilities for easy Office-centric ALM across a variety of mobile platforms.

Web development is another area where VS2013 has made ample improvements. ASP.NET developers will be pleased to discover that they can comfortably mix and match whatever framework they prefer (MVC, Web API, WebForms) in the same project. Gone are they days of segregating Web applications based on framework boundaries. Now, all of these technologies can operate happily together under the same umbrella.

Another nifty feature that will elicit a nod of satisfaction from Web developers is the new Browser Link capability. Browser Link keeps the latest browsers such as Internet Explorer, Chrome, and Firefox in sync with your code, showing design and behavior code changes in real-time. You can finally say goodbye to unnecessary button clicks, keypresses, and manual page refreshes.

VS2013 also expands support for new languages like TypeScript. TypeScript compiles down to JavaScript, but makes working with complex JavaScript-related operations far more manageable since TypeScript supports the full compliment of classes, interfaces, and modules that OOP programmers have come to rely on. VS2013 works with TypeScript just like it does with other languages by providing full support for code navigation and refactoring, statement auto-completion, and the like. And TypeScript can use popular JavaScript libraries such as Bootstrap and jQuery.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.