Some productivity features and a look to the future stand out in the release of Visual Studio 2013, which will officially launch Nov. 13. Aaron Bjork, product manager at Microsoft, was not able to go into too much detail prior to the launch, but he did give a glimpse at features he described as “really exciting for developers.”
The first is a feature called CodeLens. Bjork explained:
“It’s more or less what we call a ‘head-up display,’ right in your IDE. So if you’re looking at some piece of code you’ve got, some method or some function in your code, you get a little overlay right at the top of that method that describes for you how many references, how many other methods and functions call this particular method, so it gives you the number of references and reference counts.
“It tells you who was the last person to edit this piece of code or this method. It tells you how many tests are associated with it, in terms of unit tests and whether or not they passed in the last run. And it’s this nice little head-up display that for every method you see it, and when you click on it, it just in-line expands to give you a whole bunch of detail, so you can navigate directly to a calling method. You can run tests directly from there, you can open the work item that was associated with this last change set, and it brings all that information around the code that you traditionally want but when you need it, it’s never at your fingertips. We’ve built it into the IDE in such a way that it’s right at your fingertips.
“And one of the things that I think is exciting about this is I’ve been using it for the last six months in my code, and I worried that it would feel annoying, and it’s not annoying at all. It just feels like it’s augmenting your coding experience. To give you an example, you might write a lot of code and you have a fairly good-sized app that you’ve been running for a while, and as you’re scrolling through you see some method that says zero references right at the top, and you look at yourself and you realize, ‘Hey I wrote this, but I never hooked it up.’ Well, right there, I can just delete that method and get it out of the codebase for code cleanliness purposes. And it’s really, really handy.”
A second feature for Web developers, which Bjork said might seem small but delivers a big productivity gain, is Browser Link. He elaborated:
“What Browser Link does is, you’re a Web developer, and you’re writing a lot of HTML or CSS. What you end up doing is you end up looking at the finished product in a lot of different browsers. You might have Firefox up, you might have Chrome up, and IE, and as you’re making changes, you’re refreshing all those different browsers to make sure that the code you’re writing is rendering properly.
“We’ve created a system in the IDE called Browser Link where we detect all the browsers that are currently looking at the code you’re writing and as you’re making CSS changes or HTML changes. We actually automatically refresh those browsers for you. So instead of having to write a bunch of code, save it, and do a traditional gesture like “view in browser,” or go to all your other browsers and refresh them, those things are being refreshed for you. And you can very easily then alt-tab or switch through the different browsers to make sure the CSS you’re writing or the HTML you’re writing is compliant and rendering properly in all those different browsers.”
Bjork added that developers will see improvements in IntelliSense for XAML. “We’re seeing XAML being used in all kinds of different apps across all the different Microsoft platforms, whether it’s [Windows] Phone, Silverlight, Windows Store or Windows apps, and we’ve got some real good IntelliSense improvements inside the XAML editor. It’s hard to talk about without showing you, but a lot of nice improvements are there as well.”
Another area of emphasis is the Windows Store, Bjork said. “We’ve got a bunch of great diagnostic tools built into the Windows Store app development experience. You can not only do things like CPU sampling, but you can also run your code and then look at what it’s doing to energy consumption, or in terms of battery life. And there are certain calls that I’m making by creating a lot of I/O that’s getting the network antennas involved and then draining my battery much quicker. And when you think about apps like Windows Store apps, that are often running on tablets or non-hardwired devices, those are things that you really, really want to pay attention to.”
Going forward, Bjork said users can expect advances in the DevOps capabilities, built around Microsoft’s acquisition of InRelease this past summer. Also, ALM gets greater emphasis in 2013 with agile portfolio management capabilities and running an agile organization, not merely an agile team.
Finally, Microsoft wants to give a connected experience to developers. “Here with 2013, you’re going to have customers with an account with us, and able to synchronize settings across their different environments, so if you’re running Visual Studio at home, running Visual Studio at work or on your laptop, it’s one of these ‘sign in and you’re connected immediately.’ So obviously we have a deep connection with Team Foundation Service as well, so your account is preloaded and it’s the code at your fingertips all the time. It’s something we’ve been working on in this release, and we’ll continue in that direction as well.”