8 great features in Visual Studio 2013

In an earlier article I wrote about 10 ways to get more productive in Visual Studio. This is a follow up with new neat things coming with Visual Studio 2013.

  1. Open the Resolve menu when typing It happens once in a while that you haven’t included the namespace you need at the top of your file. One common example is Trace found in System.Diagnostics. If you write Trace, Visual Studio suggests TraceMode and other things, but no Trace. To quickly solve this, type Trace followed by CTRL + SPACE + . and the Resolve menu comes up where you can select to include using System.Diagnostics; to make Trace available. Very handy…1 - ctrl space dot





  2. Create a new Azure website from within VS There is no need anymore to open the Azure portal and create a website there before you publish it using Visual Studio. Now you can do it directly within. (You need to make sure you’ve installed Azure SDK 2.2 and can connect to Azure properly. You can check your connection to Azure by opening the Server Explorer window, click on Windows Azure and you should then be able to see your existing websites and other Azure things.)

    1. In the Publish Web dialog click on the Import button.
      2 - 1 import profile
    2. In the next Import Publish Settings dialog click on New
      2 - 2 new website
    3. In the final dialog Create a site on Windows Azure, enter the settings you want for your new website and click Create.
      2 - 3 website settings
    4. Your publishing profile is now ready to be used and you can click on Publish to upload your website, without going through the Azure portal.

  3. Live debugging in Azure After you’ve published your website you can also, using live debugging, step through the executed code line by line as if it was on your local machine. Locate your published website under Server Explorer -> Windows Azure -> Web Sites. Right-click on your website and select Attach Debugger.
    Attach debugger
    Your Visual Studio is now connected to Azure and each breakpoint you put in the code will work against the live website.
  4. Live tracing from Azure In the same way you can do live debugging you can also make all trace messages, written in an Azure application, end up in your Visual Studio’s Output window.
    Add trace messages to your code simply by writing like this.

    Trace.WriteLine("Processed index");

    Don’t forget to re-publish your application if you make any changes to your code.

    Locate your website under Server Explorer as you did in the previous step. Right click on it and select View settings. Change Application logging (File system) to Verbose and click Save as done in the picture.
    AzureWebsiteSettings
    Right click on the website again and this time select View streaming logs in Output window. In the Output window you can then see all the trace messages as they are being processed.
    Trace Message
    Don’t forget to turn off Verbose debugging after having done your testing. You might end up with huge amounts of log files otherwise.

  5. 64 bit Edit and Continue Have we been waiting for this one or what?!? Finally, by using .Net Framework 4.5.1, we can have the same edit and continue for 64 bits as we’ve been able to with 32 bit code for ages. So, good bye to this dialog!
    Edit and continue
  6. Return value inspection To help out the debugging process you can now easily see return values of functions being used as parameters in other function calls, for example if you nest several functions in each other.
        public partial class MainWindow : Window
        {
            Random rnd = new Random();
            public MainWindow()
            {
                InitializeComponent();
                Foo(Bar() * Bar());
            }
    
            int Bar()
            {
                return rnd.Next(1,100);
            }
            void Foo(int p)
            {
                Console.WriteLine(p.ToString());
            }
        }

    After you’ve stepped over line 7 (the call to Foo) this is what you’ll see in the Autos window. We called Bar twice inside the calling to Foo and the results can be seen here.
    Autos






  7. Just my code This feature tells the debugger to only step through the code you’ve been writing yourself and ignore frameworks and other code. The system is doing this by looking at open projects, .pbd files and program optimisations. For .Net Framework, this came before VS 2013, but what’s new now is that it’s available for C++ and JavaScript as well. To enable or disable Just My Code, open Debug -> Options and Settings -> General and change the value of Enable Just My Code.

    JustMyCode

  8. Peek a definition It’s now possible to open up a method definition without having to open that specific file. You can even open up a section located further up/down in your current file without having to leave the location you are at now. This feature is called Peek Definition and can be accessed through ALT + F12 or by right clicking the method and select Peek Definition. Here is an example where I’m peeking on the InitializeComponent() method. Peek Definition

    Note: If you, like I, have Telerik’s JustCode installed then ALT + F12 is connected to Find all references. To change, go to Tools -> Customize -> Keyboard and write PeekDefinition in the Show Commands Containing: textbox. Mark the Edit.PeekDefinition command and click in the Press shortcut keys: box. Press ALT + F12 and then click on Assign. Done! Telerik’s shortcut had to move for this new excellent feature!