Channels ▼


Microsoft Visual Studio 2013 Review

For those who opt to use Microsoft's Team Foundation Service, you will be able to manage team rooms for each project, easily generate large scale test plans for apps that live within the Windows Azure cloud, and create Work Item Charting to visualize what is most important to your dashboard needs (bug count, tasks, etc.). It's impressive to consider that all these new features made it into a release only a year after the feature-laden VS2012 IDE became available.

Migrating to VS2013

I built a Windows 8.1 store application based on a sample that needed to be upgraded to the 8.1 configuration to take advantage of the new features in the operating system. I also built a JSON-consuming console application for testing purposes. Both were written, compiled, and run in less time than it took to install VS2013 on my PC.

Using the Nuget package manager now built into VS2013, I was able to easily locate and install the latest JSON package for my console application. I never once had to leave the IDE.

Figure 4: Obtaining source and packages from popular community projects on via VS2013's built-in online package browser.

I was also able to install IronPython and Python-related packages from this interface, allowing me to extend VS2013 with ease.

Figure 5: Third-party tools and platforms can also be searched for, downloaded and installed within the VS2013 environment.

Even though I had no problems during my Windows 8 to 8.1 project conversions, VS2013 smartly urges you to back-up your projects before upsizing them. Of course, you already have your project assets backed-up, preferably to an off-site location, any time there is a change…right?

Debugging XAML and running the new performance tracking tools was also painlessly easy and very informative. Responsive UIs and routines that are less taxing on CPU (and, ultimately, battery charge) will no doubt be incorporated as a standard design practice as a result of the seamless debugging and testing integration that VS2013 offers.

Limitations and Future Improvements

Not everything in the IDE received an upgrade. Some of the minor issues I had in Visual Studio 2012 are still present in 2013, most of them regarding WinRT development. For example, creating a Windows Store account and authorizing an app for store deployment is still not an integrated experience. When launching VS2013 for the first time, you are given the option to sign in with your MSDN ID to synchronize your VS2013 environment settings across different computers, so the IDE already knows who you are.

Figure 6: Obtaining a developer license in Visual Studio for apps to be distributed in the Windows Store.

Perhaps in the next release, Microsoft can take a closer look at how Apple enables the sign-up and issues of provisioning profiles in a few mouse clicks. Making this a simple, unified process will help increase the number of apps available in Microsoft's online marketplace. Another problem is that when certificates are issued, they're only valid for one month. Why? Apple's certificates are valid for three months, and Android's are valid for as long as the registered Android developer prefers.

Creating WinRT screens is also somewhat disjointed when bouncing between Visual Studio's designer and the Blend tool. Seamless round-tripping between the two (or better yet, embedding Blend into the Visual Studio designer environment) would bring back the efficiencies (along with the "I'm a programmer, not a graphic artist" design aesthetics) of WinForms development.

I would also like to see Microsoft continue to expand its Team Foundation Service tools to capture ad hoc messages between developers, and allow for a playback/rewind function that assembles the code coupled with the conversations along the way. This will help new team members get up to speed quickly and understand how these interactions shaped the source code, especially at key decision points.


Having used both Apple's Xcode and Google's Android Studio, I find there's a degree of flow in Visual Studio that those environments can't match. The coding improvements made in VS2013 build upon and refine this nearly effortless development experience. The new code editor improvements keep code entry at parity with modern editors like Sublime Text, while the new Windows 8.1 features maintain VS2013's dominance as the primary means to build the latest Windows programs. Even if you don't develop Windows applications, download the trial and play around with the IDE (preferably on a decent Windows PC and not inside a slower Windows virtual machine). VS2013's feature set and performance set the standard by which other IDEs should be evaluated.

If you're using earlier versions of Visual Studio, including VS2012, or considering adding Windows 8.1 development to your armory, then upgrading to VS2013 is a no-brainer. The bevy of enhancements and new features justify the upgrade price or MSDN renewal. For those rare individuals who are getting into Windows development for the first time, Visual Studio 2013 can seem daunting given its extensive options and customization capabilities. But the investment is well worth the price to start using one of the best programming IDEs available today.

Mike Riley is a blogger for and frequent contributor to Dr. Dobb's.

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.