Saturday, June 14, 2014

Visual Studio 2013: A first look at Microsoft's sleek new IDE

Discover which features and enhancements were added in Visual Studio 2013 to increase developer productivity.

Visual Studio 2013 was a hot topic at Microsoft's TechEd conference earlier this year, but we had to wait until this month to get the final product. A new version of Microsoft's flagship IDE is a little irritating, as I just got fully comfortable with Visual Studio 2012.
I finally got a copy of Visual Studio 2013 and took it for a ride this week. Here's a quick tour of what Visual Studio 2013 has to offer; I focus on basic IDE enhancements, web development, productivity gains, and Windows-specific development.

New and improved interface

One of the first things you'll notice about Visual Studio 2013 is the revamped start page along with the ability to keep your development environment settings synchronized across the various devices you may use.
Figure A shows the start page for the initial loading of my copy of Visual Studio Ultimate 2013. This is accomplished by using your MSDN or Microsoft account -- you basically sign in, and your settings will be used every time you log on. The chore of keeping your home development machine in sync with your office laptop is greatly simplified and automated. Also, the logon handles product registration and so forth.
Figure A
The Visual Studio 2013 start page presented when the IDE is opened the first time.
One goal in the development of Visual Studio 2013 was developer productivity with an emphasis on putting more information at developers' fingertips without leaving the tool. A feature tied to this goal is CodeLens (Code Information Indicators). Basically, CodeLens allows you to view information on code changes: who made the changes, recent tests, code references, etc. within the code -- this assumes you're using Team Foundation Server (TFS). It gives you a quick summary without any additional work. While I'm not a TFS user, I'm always interested in identifying how often and where code is used, so the references features is nice to see on the fly.
Another great time-saving feature is Peek Definition (Figure B), which lets you view code definition inline without leaving your current place in the code. Simplifying code navigation was a goal with this release as was the ability to change scroll bar behavior within the code window -- there is bar and map mode. I prefer map mode, because it provides a live preview of code on which you hover.
Figure B
Peek Definition allows you to view source inline.
A quick stroll around Visual Studio 2013 reveals cosmetic changes like more intuitive icons and greater use of colors. Figure C demonstrates some of the icons and colors; I like the darker background, which is easier on my eyes. There are other themes available for background, toolbars, and so forth, or you can customize your own.
Figure C
A sleeker and more user-friendly interface in Visual Studio 2013.

Web development

Most of my projects these days involve a web interface, so I'm very interested in any tweaks with web development via Visual Studio 2013. One of the biggest changes is the Browser Link feature. The premise is you have multiple browsers open for testing web applications, and Browser Link keeps these browsers updated without you having to switch to the browser instance and manually refresh. This also meets the goal of improving developer productivity.
Another positive change is the ability to use multiple ASP.NET web page features: Web Forms, MVC, WCF, and so forth -- it's a step closer to the One ASP.NET goal. This is a big change from recent Visual Studio versions in which you have to pick one or another and stick with it. Now there is just one ASP.NET project type (Figure D). You can choose one type or include references to all (checkboxes) (Figure E), which is displayed after choosing ASP.NET project type.
Figure D
ASP.NET is the only web project type in Visual Studio 2013.
Figure E
Working with multiple ASP.NET page layouts in Visual Studio 2013.
There is full support of the latest and greatest web standards, with HTML5 and CSS3 completely integrated. There is full IntelliSense support for both even when typing CSS3 directly in HTML5 source. JavaScript is fully supported along with TypeScript.
You can download Web Essentials 2013 to add many common items for web developers like standard libraries and such. It's a head-scratcher why this wasn't included with the new product release as opposed to requiring another download; I guess Microsoft assumes not everyone is using the IDE for web development. It's worth noting that Bootstrap is a standard for ASP.NET applications.

Windows development and more

The Visual Studio 2013 release coincided with unleashing Windows 8.1 on the world, and the first can be used to build solutions for the latter. While I'm not a Windows Store application developer, it's nice to know the features are available when/if I enter that world; this includes IntelliSense for XAML.  There are a number of templates available online for building Windows Store applications.
There are new versions of the .NET Framework, along with ASP.NET included with Visual Studio 2013. Both are currently at version 4.5.1, so you'll need to spend some time becoming familiar with what has changed in these new versions.
There are multiple versions of the product, and they offer various features. Visual Studio Ultimate 2013 has the most features, including TFS support. Visual Studio Professional 2013 is on the bottom rung of the ladder. All of the versions have the same core feature set, with others added depending on your role -- like TFS support if working with a team that uses it. You can get more information on the different editions of Visual Studio 2013 on the Microsoft site.

Bottom line

At first glance, the sleek Visual Studio 2013 is nice on the eyes, it's easy to navigate, and you can get up and running in no time. I applaud Microsoft on the goal to help developers work smarter with less need to leave the IDE.
The product includes many more features than what I have room to cover here, including tools for cloud development via Azure, Application Lifecycle Management (ALM) features, Git support, and diagnostic tools. I've only had a short time to work with the new release, so while my initial impression is favorable, I'll have to employ it for a full project to determine whether the improvements are real or just window dressing.

No comments:

Popular Posts