Visual Studio 2013 Preview: My first impressions

I recently downloaded the Visual Studio 2013. One of my responsibilities as a consultant is to make sure I am up to speed with latest tools and technologies in the Microsoft development space. I was excited to see what Microsoft have brought to their already solid and feature rich tool.

The issue I often have with new tools and programing concepts is where do I start? I generally have limited time, so I like to get to the information quickly with out having to wade through all the marketing fluff. To this end I have compiled this document which follows my own initial investigations.

All my comments moving forward relate to Visual Studio 2013 Premium preview, with Resharper 8 installed + python tools.

Product information

Visual Studio

http://www.microsoft.com/visualstudio/eng/2013-downloads

Resharper

http://www.jetbrains.com/resharper/

Python tools

http://www.hanselman.com/blog/OneOfMicrosoftsBestKeptSecretsPythonToolsForVisualStudioPTVS.aspx

I will not attempt to rewrite the information that is already available on other blogs, but will provide links to the blog posts as well as extracts. Really this post should act as a launch pad for your own investigations.

Debugging improvements

Graphics Debugging

image

It is really encouraging that Microsoft has brought direct 3D into the main stay of the tool to support a rich graphics experience across Windows Store and Windows Phone Applications [8]. Direct 3D has been seen in the past as a little bit of a black art. My hope is with better tool integration more people will brave the unmanaged code world and write stunning visuals that don’t have their performance knee capped by managed wrappers.

Links:

[Extract]

Operating system and SDK requirements

“The Windows Software Development Kit (SDK) for Windows 8.1 Preview installs the runtime components that are required by Graphics Diagnostics, and supports development for Windows 8.1 Preview and Windows 8. To use Graphics Diagnostics on Windows 7 and Windows Vista, you must install one of the following SDKs:

  • Windows SDK (version 7.1)

  • DirectX SDK (June 2010)

DirectX version compatibility

Graphics Diagnostics supports apps that use Direct3D 10, Direct3D 10.1, Direct3D 11, Direct3D 11.1, and Direct3D 11.2, and provides limited support for apps that use Direct2D. It does not support apps that use earlier versions of Direct3D, DirectDraw, or other graphics APIs”

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/hh873207(v=vs.120).aspx

[Extract]

“You can capture graphics information from your DirectX-based app so that you can use Visual Studio Graphics Diagnostics tools to diagnose rendering problems.”

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/hh708963(v=vs.120).aspx

Windows Store Applications and Windows 8.1 preview

Although not directly related to VS2013 I felt this article was vey helpful as well.

[Extract]

Controls (XAML with C# or C++)

Add new features, like date/time pickers and enhanced navigation support by using the new XAML controls. Updates to existing controls make them simpler to use and more versatile. These new and updated controls make it easier than ever to create a full-featured app.

[Link]

As we know with cutting edge tools not yet in release there are a few hoops to go through. It is recommended you read the links below to look at development on windows 8.1 and retargeting apps form windows 8.

[Link]

http://msdn.microsoft.com/en-us/library/windows/apps/bg182410

[Link]

http://msdn.microsoft.com/en-us/library/windows/apps/br211384.aspx

[Link]

http://msdn.microsoft.com/en-us/library/windows/apps/hh738343.aspx

Build

image

image

MSbuild 12 now ships with VS2013 and more importantly MSBuild is now installed as part of Visual Studio as opposed to shipping with the .net framework. However it can be downloaded on a stand alone link.

Find out more about MSBuild 12

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/hh162058(v=vs.120).aspx

IDE and User Experience

As a developer who lives on the keyboard and avoids the speed sacrifice using the mouse brings like the plague, I find some of the improvements below to be a fantastic bonus to my developement experience. I use about 5 different machines for developing software and it is a real bonus now to be able to associate them with 1 windows live account.

[Extract]

The Visual Studio IDE has some important changes—improved icons, more contrast in the user interface, the ability to search the Options window directly, and other enhancements

Personalisation

image

image

image

 

[Extract]

The new connected IDE uses your Microsoft account to connect to your Visual Studio profile, including your Team Foundation Service account. The first time you start Visual Studio, you supply your credentials. Based on that authentication, Visual Studio finds and applies your license and synchronizes your settings (such as fonts, language preference, and keyboard settings) across all of your computers. For more information, see

[Link]

.http://msdn.microsoft.com/en-us/library/vstudio/dn135229(v=vs.120).aspx

Making the Command  windows / find box’s more useful

image[Extract]

Aliases provide a means for entering a command into the Find/Command box or Command window by shortening the text needed to execute the command. For example, instead of entering >File.OpenFile to display the Open File dialog box, you can use the pre-defined alias >of.

Type alias in the Command window to display a list of the current aliases and their definitions. Type >cls to clear the contents of the Command window. If you want to see an alias for a specific command, type alias <command name>.

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/c3a0kd3x(v=vs.120).aspx

 

Digging into code

Peek Definitions

image

[Extract]

You can use the Peek Definition command to see code definitions without switching away from the code you’re writing. Peek Definition and Go To Definition show the same information, but Peek Definition shows it in a pop-up window and Go To Definition shows it in a separate code window. Go To Definition causes your context (that is, the active code window, current line, and cursor position) to switch to the definition code window. Peek Definition allows you to see the definition and move around inside the definition file and still keep your place in the original code file.

You can use Peek Definition with C#, Visual Basic, and C++ code. In Visual Basic, Peek Definition shows a code definition window only for elements that are not part of the .NET Framework; .NET Framework elements are shown in the Object Browser. Peek Definition is not shown for language keywords.

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/dn160178(v=vs.120).aspx

New Exciting Scroll bar

image

image

The changes to the scroll bar are one of the most exciting changes in my view , i love the document map mode seen in the second screen shot. The document map mode is one of my favourite features of sublime [http://www.sublimetext.com/] im so glad to see it in Visual studio.

[Extract]

To show annotations on the scroll bar
  1. You can set up the scroll bar to show code changes, breakpoints, errors, and bookmarks.

    Open the Scroll Bar options page (Tools, Options Text Editor. All Languages or a specific language, or type scroll bar in the Quick Launch window).

  2. Select Show Annotations over vertical scroll bar, then select the annotations you want to see. (TheMarks option includes breakpoints and bookmarks.)

  3. Now try it out. Open a large code file and replace something that occurs in several places in the file. The scroll bar shows you the effect of the replacements, so you can back out your changes if you replaced something you shouldn’t have.

    Here’s how the scroll bar looks after a

[Extract]

To set the display mode for the scroll bar
  1. The scroll bar has two modes, bar mode (the default) and map mode. Bar mode just displays annotation indicators on the scroll bar. In map mode the lines of code are represented on the scroll bar. You can choose how wide they are and whether they show the underlying code when you rest the pointer on them. When you click a location on the scroll bar, the cursor moves to that location in the code. Collapsed regions are shaded differently; they are expanded when you double-click them.

    On the Scroll Bar options page, select either Use Bar mode for vertical scroll bar or Use Map mode for vertical scroll bar. You can choose the width in the Source Overview dropdown.

    Here’s how the search example looks when map mode is on and the width is set to Medium:

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/dn237345(v=vs.120).aspx

Version Control

image

The tighter integration with GIT which i consider to be the best source control option currently available is hugely welcome.

[Link]

http://msdn.microsoft.com/en-us/library/vstudio/hh994655(v=vs.120).aspx

Conclusion

I have not covered all the functionality but i hope this has given you a flavour of how awesome visual studio 2013 is. I encourage you to download it and explore.

Katie