Application Security Testing: An Integral Part of DevOps
In this article I will be taking you through the new features of Visual Studio 2013 IDE, which was released by Microsoft in early November 2013, and provide the readers with insight about the enhancements done to the IDE.
The First Look
At the first look of Visual Studio 2013 there doesn’t seem to be many differences from Visual Studio 2012 as the themes and styles of the IDE look to remain same with Blue, Dark and Light variants. When I took a closer look I did find some additions near the Quick Launch control.
Fig 1.0: Quick Launch Control
You can sign in using your Microsoft live account, which will allow you to sync your settings online, use the Team Foundation service and save the code to the online repository. This ensures that no matter from whichever machine you are using Visual Studio, your personalization settings and the code will be synced. The online features are provided through cloud based services.
Your received notifications will be highlighted in the notification icon and there is also a notification window, which is built into Visual Studio in order to work with the received notifications.
The Feedback section allows you to provide input to Microsoft on the features you like or don’t like and also you can report bugs using the feedback section.
Visual Studio 2013 allows you to create applications in .NET Framework 4.5.1, which contains a few improvements to the .NET 4.5 Framework. Also in the start page you will notice a lot more sections are displayed.
Visual Studio 2013 IDE has been bundled with quite a good amount of editor features and following are a few of the top ones.
This is an interesting and useful text editor feature, which decorates all the user defined types by a dull text providing information about the references, unit tests covering the code, last execution result of the unit test execution and also the change sets along with the last modified user when working in a TFS environment. Fig 2.0 shows a sample screen where the reference information is displayed in Code Lens.
Fig 2.0: Code Lens
Fig 2.1 shows the display unit test result and also the option to run the test case from the Code Lens window.
Fig 2.1: Display Unit Test Result
To do any changes to types referenced in the current class file and defined in some other file, without losing the current file context, you can use the Peek Definition feature. Select the referenced type to be edited and then press Alt + F12 and you will notice the file contents getting opened in the Peek Definition window as shown in Fig 3.0. The best part is that you can do the code edit through the Peek Definition window and continue on the same context file.
Fig 3.0: Peek Definition
Smart Scroll Bar
In 2013 IDE the scroll bar has been upgraded to show a lot more information than just performing the window scroll. The information includes showing the different colored marks on the scroll bar highlighting the error, warning, new change, breakpoints, bookmarks, selected words, etc. The default mode is called Bar mode and there is another mode named Map mode where the scroll bar also displays the code that shows the preview when hovered. This smartness of the scroll bar is really useful while working with large class files. Fig 4.0 displays the scroll bar in map mode.
Fig 4.0: Scroll Bar in Map Mode
Other useful editor improvements are listed below.
2. In C# code when you open a bracket, double quote, curly brace, etc, the closing one is automatically added.
Enhancements to Debugging
In this section let's look at a few of the important enhancements done for debugging the code using Visual Studio 2013.
Return Value Inspection in Autos Window
With the Autos window open during debugging you will now be able to inspect the return values of the method calls. In earlier versions in order to know the return value of a particular method you will have to step into that particular method and debug. Fig 5.0 shows the Autos window displaying the return value of the GetHashCode method call.
Fig 5.0: Autos Window
Asynchronous Debugging – Call Stack Information
The debugging of async await code has been improved with Visual Studio 2013. For synchronous code execution the call stack window shows the call stack information clearly but while debugging the async tasks the call stack window does not display enough information as the execution is happening on a different thread. In the 2013 IDE installed on the Windows 8.1 operating system the call stack window shows the complete call stack information for the async function calls and tasks.
I will leave the rest of the features to be explored by the reader. I hope this article provides a good introduction to Visual Studio 2013 enhancements.