Review: Visual Studio 2013 reaches beyond the IDE
Microsoft delivers editing, debugging, deployment, project architecture, and ALM improvements stretching from Windows to Web development, from mobile devices to clouds
Build and test in the cloud
You can set up TFS to automatically build and test periodically or after every check-in. This is a big convenience and productivity enhancement, even compared to other commercial code-quality services, which usually make you check in separately after the acceptance criteria have been met and all tests are green. In addition, you can deploy successful builds to Windows Azure automatically using the InRelease component discussed below.
Speaking of Windows Azure, you can now create Azure sites and databases directly from Visual Studio once you've installed the current Azure SDK. It couldn't be much easier. When you create an Azure site from Visual Studio 2013, you get a placeholder site even before you deploy what you're building. Visual Studio remembers the Azure connection you create to make later deployment simple.
One hugely useful integration between the Visual Studio editor and TFS (including Git) is Codelens, which shows you version history comments in your code. Codelens also lets you know if you're working with code for which there has been a check-in since you last pulled from the repository. That eliminates a whole class of problems and duplications of effort that commonly crop up in areas of active development. I can't tell you how many times I've gone to check in a bug fix only to find that someone else has taken care of it.
Team Explorer, the client interface to TFS, is much more useful than it was before. Admittedly, that wasn't a high mark to beat, but Team Explorer now shows you what you need to know fairly quickly.
Using Team Room, an integrated chat capability in Team Explorer, can help keep your desktop clutter down, although many development teams will undoubtedly continue to use Skype, Google Hangouts, or their favorite chat program, despite any advantages of Team Room. Never underestimate the power of habits.
Microsoft acquired InRelease, a release management product built specifically for Team Foundation Server by InCycle Software, last July. InRelease, now integrated with Visual Studio 2013, Team Foundation Service, Microsoft Test Manager, and Team Build, enables a number of common release scenarios, including releasing on demand to a local or hosted VM, daily release for smoke testing, and continuous deployment. If you don't already have this kind of capability set up for your products with other tools, you might want to consider using the new release management features in Visual Studio 2013.
Smarter code editing
Code editing in Visual Studio 2013 has picked up a number of what might seem like minor improvements, but in the aggregate can make a huge difference in developer productivity. For example, the Go to Definition feature does a better job of maintaining your editing state, so you can go back to where you were using the back arrow. For languages that have the support, such as C# (but not JavaScript), the Peek Definition feature pops up a window with the definition you requested without disturbing your underlying edit window. And Code Map does a great job of giving you a big picture of where you are in your code, again for those languages with the support.
Given the amount of JavaScript I've been writing the last few years, I might resent the fact that Visual Studio's JavaScript editor has yet to receive these whizzy new features. Nevertheless, I'm thankful that the JavaScript support in Visual Studio 2013 has improved to the point where I don't feel the urgent need to switch to a different editor (say, Sublime Text) every time I work with a large JavaScript file. I'm also thankful for the JavaScript features added to Visual Studio by the free Web Essentials plug-in.