Blog - Title

Visual Studio 2013 Current Status

  • The Ultimate Visual Studio Tips and Tricks Blog

    InRelease for Visual Studio 2013 Preview Now Available



    In case you haven’t heard we acquired InCycle’s InRelease Business Unit. Here is information on InRelease from the website (


    InRelease is a Continuous Delivery solution for .NET teams that automates the release process from Visual Studio Team Foundation Server (TFS) up to production for faster and simpler deliveries. With pre-defined release paths, InRelease automatically deploys your application as a whole to multiple environments. Based on a business-approval workflow, InRelease improves coordination and communication between development, operations and quality assurance to make release cycles repeatable, visible, and more efficient.



    More interesting is the information from Brian Harry (

    [NOTE: Extra space added by me]


    At TechEd, in early June, I announced our agreement to acquire InRelease – a release management product built specifically for Team Foundation Server by InCycle Software.  Since then, we’ve received tons of requests for more information, demos, etc.  Unfortunately, we’ve only been able to point people at InCycle because the acquisition was not final.  I’m happy to say that about a week ago we closed the acquisition and InRelease is now a part of Microsoft.


    That doesn’t mean we can start selling it right away.  There are a number of things that have to happen in order to enable that – getting it on our price lists, shipping a version that is properly branded, serviceable, etc.  All of that will take a few months but there are some good options for you in the interim.  Let me share some of them.


    • We are providing a preview of our future Release Management product today.  It’s basically the existing InRelease product with some minimal changes to meet some of our compliance requirements.  You can download it here.  You can also read the InRelease Preview User Guide and ask questions on the forum.


    • InCycle Consulting will continue as an independent company and, until we ship the first fully Microsoft product, will continue to provide trials and sell the InRelease product.  Customers who purchase now will be provided a free upgrade to the Microsoft shipped version when it is available.  This is a good way to get started now and be sure that you also have a good path forward.


    Hopefully these two paths will solve everyone’s needs while finish up the changes we need to make.


    I also want to say a few words about licensing so you, at least, have a little context on what to expect.  We are not ready to announce pricing but I can share a bit about the structure of the licensing.

    • The InRelease release management authoring components will be included in Visual Studio Test Professional, Visual Studio Premium and Visual Studio Ultimate.
    • Everything needed to participate in a release process (as opposed to configuring it) will be included in the Team Foundation Server CAL.
    • The InRelease server components will be integrated into Team Foundation Server 2013.
    • The InRelease deployers (which are required for each node you deploy on) will continue to be licensed separately.

    For now, we are focused on getting InRelease integrated into our on premises product.  We will also support our cloud service but that will come a bit later.


    Please give it a try and give us any feedback you have.  As you might imagine, we are currently working on developing and prioritizing our backlog.




  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013: Organize Your Code with Named Regions



    This feature was first introduced in Visual Studio 2005 and, over the years, I’ve heard plenty of arguments for and against using it. Those “against” think this can be used as a crutch to hide bad code and not adhere to good coding techniques. Those “for” think this is a great way to organize your code and get clutter out of the way. I’ll show you how it works and let you decide which group you fall into.




    Creating Named Regions



    In C++ you create regions by using “#pragma region” with label and “#pragma endregion” (case-specific):

    5-16-2012 12-21-15 PM




    For C# you can eliminate the “pragma” keyword, as well as the quotes around the region name if you desire, and just use “#region” with label and “#endregion” (case-specific):

    5-16-2012 12-24-08 PM




    Visual Basic is just as easy as C# and uses a similar syntax of “#Region” with label and “#End Region” (not case-specific):

    5-16-2012 12-26-57 PM 

    Note that the quotes around the region name are required in this example.




    Value of Named Regions

    The value of creating Regions is twofold. First, they travel with the code so are shared by all team members when using source control. Second, they become part of document outlining and can be collapsed:

     5-16-2012 12-30-40 PM 


    or expanded to further organize you code:

    5-16-2012 12-29-04 PM




    Best Practice

    Special thanks to Marcus Rangell for reminding me of this tip. As a best practice you might consider putting the name of the region in the End Region line as well:

    5-16-2012 9-00-45 PM

    This technique will work with C++ and C# but not with VB regions.


    The best practice is particularly useful when you have nested regions:

    5-16-2012 9-22-04 PM


    The only down side is this doubles up the names in C++ when regions are collapsed:

    5-16-2012 9-24-18 PM

    You will not see this problem in C#.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013: Drag and Drop Code Onto the Toolbox


    This is another feature that has been around for a while but a lot of people don’t know about. Got code you use all the time?  Start using the Toolbox for more than just controls.  When you are in the Editor the Toolbox looks like this:

    5-16-2012 12-09-16 PM


    This is a vast expanse of opportunity!  Just select some code you use often and drag it into the Toolbox and see the magic happen:

    5-16-2012 12-11-35 PM


    Now you have code ready to go at anytime!  Just place the cursor where you want the code to go:

    5-16-2012 12-13-32 PM


    And double click on the item in your Toolbox to have the code inserted:

    5-16-2012 12-14-46 PM


    You can also Click and Drag where you want the code to go:

    5-16-2012 12-15-49 PM




    Additional Actions

    There are a few extra things you can do with this feature as well. Here is are a few things to consider.



    You can rename the code copy to whatever you would like by RIGHT CLICKING on the item and choosing Rename Item:
    5-16-2012 12-17-53 PM



    Additional Tabs

    You can also create additional tabs beyond the General tab. To organize the code with additional tabs just RIGHT CLICK any open space in the toolbox and choose Add Tab:
    5-16-2012 12-20-58 PM


    This will produce a text box where you can type in the name of the new tab:

    5-16-2012 12-22-29 PM


    Simply enter a name and press ENTER:

    5-16-2012 12-25-15 PM


    And now you can click and drag code into the new area:

    5-16-2012 12-26-40 PM



    Showing the Code

    You can see the entirety of any code entry by placing your mouse cursor over the item and reading the tooltip:

    5-16-2012 12-27-55 PM




    You can delete any entry or any tab except the General Tab. Simply RIGHT CLICK the item or tab and choose Delete or Delete Tab respectively:

    5-16-2012 12-30-45 PM

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: Peek Definition aka Go To Definition (Peek)


    Traditionally when you want to view the definition of a method you place your cursor inside the call:

    5-16-2012 12-26-10 PM


    Then press F12 to go to the document where the definition exists:

    5-16-2012 12-27-17 PM



    Using Peek

    But what if you don’t want to leave your current location:

    5-16-2012 12-26-10 PM


    No problem! Just take advantage of the new Peek Definition feature by pressing ALT+F12:

    5-16-2012 12-29-03 PM


    This feature will actually open a small window below the method call so you can view its definition. This makes it very easy to view a definition without losing your place in the current document.




    If I want to go to another definition from here I can just place my cursor inside the item:

    5-16-2012 2-25-33 PM


    And press ALT+F12 again. It will update the window to show the new definition:

    5-16-2012 2-27-51 PM


    But something else also happens. Notice the dots showing up in the top right-hand side of the window:

    5-16-2012 2-29-46 PM


    The Peek window is keeping track of the definitions you have been to so you can navigate easily between them:

    5-16-2012 2-31-06 PM


    You can use your mouse to click any of the dots or the forward and back links. Also, as you can see, you can use CTRL+ALT+Minus(-) and CTRL+ALT+Plus(+) to move backward and forward respectively.


    I’m not sure what the upper limit is on number of entries it will remember but at 18 entries the More indicators showed up to allow navigating through a higher number of definitions. I suspect the number of entries can go quite high:

    5-16-2012 2-42-08 PM



    The next most obvious question is: “Can I edit the code in this definition window?” Currently the answer is “no” however it is something that is being considered before we ship. Let me know your thoughts.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: CodeLens aka Code Information Indicators


    [Updated: 7/12/2013: Thanks to John Gardner for the updated info.]


    There is only one way to describe this next feature: IT ROCKS!


    To use this feature you will need Visual Studio 2013 Preview and Team Foundation Server 2013 Preview as some information comes from TFS.



    Presenting the Problem

    For me, this is the signature feature in Visual Studio 2013. It’s well thought out and solves multiple issues we face as developers. But what IS it exactly? The best way to demonstrate it is to remind you what life was like before we had it. Here is a method (from the TailSpin toys sample code) the way we have seen it in the past:

    5-16-2012 6-04-11 PM


    What if I need to find all the references to this method? I can press SHIFT+F12 and get results in the Find Symbol Results window:

    5-16-2012 6-09-48 PM


    How about the tests associated with this method? I’d either dig through the references above or dig into the Test Explorer window and see what I can find. But what if I want to know who last changed this method? How about the number of times this code has changed? Now I have to dig into other windows to locate the data. In short, I can get all the information I need but have to go to several different places to get it.



    Solving the Problem

    The Visual Studio team has come up with an elegant solution to the problem: show information about the code WITH the code. It’s a great addition to the development experience. Originally called Code Information Indicators, the marketing folks have now dubbed this CodeLens.


    Turning It On

    CodeLens is on by default but I want to point out the information you can choose to view. Go to Tools | Options | Text Editor | All Languages | Code Information Indicators:

    5-16-2012 6-29-59 PM

    (NOTE: a faster way to get here is to press CTRL+Q for QuickLaunch and type the word “information” into the search area then select the Code Information Indicators entry)


    I’ll show these in the order you will most likely see them when you begin using this feature.




    Show References

    5-16-2012 6-38-10 PM

    The first indicator you will typically notice is the references. This is just like using Find All References but instead of presenting the information in another window a summary of references is shown with the code. With any of the CodeLens indicators you can access the details in a couple of ways.



    Mouse Access

    You can click on any indicator to see the results:

    5-16-2012 6-56-14 PM


    Also there is a scroll bar (if needed) to allow moving through multiple entries:

    5-16-2012 6-57-02 PM



    Keyboard Access

    If you don’t want to take your hands off the keyboard, you can simply hold down your ALT key on your keyboard and each indicator will show a number above it:

    5-16-2012 7-02-04 PM


    Pressing ALT + [indicator number] will show the information within. In this example, ALT+2 will open the references. These numbers are static so you can always depend on them. Regardless of where you are, ALT+2 will always show the references.




    Show Tested By

    With any method we often want to know what tests are associated with it. The Show Tested By option will show what tests are associated with your code and an overall status indicator:

    5-16-2012 7-35-20 PM


    As you can see in this example, the tests haven’t been run yet as shown by the icon to the left of the test summary. If I click on the Show Tested By section or press ALT+3:

    5-16-2012 7-42-07 PM


    Then I get the information window:

    5-16-2012 7-49-55 PM


    Notice we can run the currently selected test or run all tests. To access the Run All or Run links with just your keyboard just use your TAB key. If you want to examine an individual test method you can press Enter (or Double Click) any entry in the information window and the editor will show the test method details:

    5-16-2012 8-02-04 PM


    Let’s jump back to our original code. Looking at the Show Tested By indicator we can see that if all the tests have passed this is the result:

    5-16-2012 8-06-05 PM


    If any tests fail, then we will see something like this:

    5-16-2012 8-10-03 PM


    You can see any tests that failed by opening the Show Tested By area:

    5-16-2012 8-11-33 PM




    Show Test Status

    Now let’s discuss the Show Test Status indicator. Normally, when we look at a test method this is what we see:

    5-16-2012 8-22-36 PM


    However, once we run our tests, it would be nice to see the status of the run with the test method itself. This is where Show Test Status comes in. By turning this on we can see the status of the last run represented as an icon (to the left of the references information):

    5-16-2012 8-27-31 PM


    If you want to see the latest test result, you can Click the icon or press ALT+1:

    5-16-2012 8-29-33 PM


    And see the test result window:

    5-16-2012 8-34-24 PM




    Show Authors and Show Changes

    The Show Authors and Show Changes options actually show the same information but filter it in two ways. Both are updated when you Get Latest from source control. Show Authors will show the name of the last person to make a change plus a count of any other unique individuals who have worked with the same code:

    5-16-2012 9-04-43 PM


    Whereas Show Changes will show the total number of changes in the code’s history:

    5-16-2012 9-14-16 PM


    Selecting either of these by using your mouse or by pressing ALT+4 and ALT+5 respectively:

    5-16-2012 9-17-18 PM


    Opening either one of these indicators will reveal the following:

    5-16-2012 9-19-59 PM


    This is where things get interesting. You can Right Click any entry in this window to be presented with three options that we will examine in detail:

    5-16-2012 9-24-40 PM



    View Diff Of Changeset[Number]

    This will show the difference between the selected changeset and the one prior for comparison:

    5-16-2012 9-29-10 PM



    Changeset Details

    This choice will show the details of the changeset in Team Explorer:

    5-16-2012 9-30-39 PM



    Send Email To [Author]

    Pretty self-explanatory, this option will open up your default email program and allow you to begin crafting an email to the author of the changeset with a link to remind the author of the code changed:

    5-16-2012 9-34-22 PM 





    In this section I’ll show some additional items that may be of interest to you as you discover more about CodeLens.


    Navigating Between Information Windows

    Once you have opened any information window:

    5-16-2012 12-04-12 PM


    You can use RIGHT ARROW or LEFT ARROW to move between the other information windows.

    (NOTE: The team that works on this let me know that the official keyboard shortcut for moving between these windows is ALT+RIGHT ARROW and ALT+LEFT ARROW. Be aware that just plain ARROW keys may stop working in future iterations of the build and you will need to use the official keys to move between windows here.)



    Skipping Lines

    I began this article saying that this feature is well thought out. Nothing emphasizes my point more than the way the indicator are treated in the editor. Rather than being intrusive and even throwing off your line counts by treating the indicators as a line of code the indicators are simply decorations added in the editor and are not counted as an actual line:

    5-16-2012 10-14-49 PM


    The concept of being non-intrusive is so ingrained into this feature that even the cursor will skip over it when you are using your keyboard to move between lines in the editor.



    Changing Indicator Fonts and Colors

    If you want to modify the font and/or color of the indicators you can go to Tools | Options | Environment | Fonts and Colors then select Show Settings For the Code Information Indicators:

    5-16-2012 9-54-27 PM


    Experiment with these to find settings that are appealing to you.



    Turning It Off

    If, for some reason, you don’t like this feature then you can always turn it off by going to Tools | Options | Text Editor | All Languages | Code Information Indicators and disable the feature.





    CodeLens is truly an epic addition to the Visual Studio world. I am a huge fan of this feature. Try it yourself and tell me what you think! :)

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013: Making IntelliSense Transparent While You Code


    As I mentioned before, I will be revisiting tips from older versions in this new series. I’m also removing the word “Preview” from these entries since is it safe to assume these features will continue to be in shipping versions of the product. I reserve the word “Preview” for those things that are new and could potentially change. This is definitely one of my top tips for folks and one that usually include in my talks on Visual Studio. Even though this feature has been around for a long time there are still many people who have never seen it. So let’s take a look.


    IntelliSense In The Way

    There are times when we are writing code and IntelliSense comes up:

    5-17-2012 2-19-52 AM


    Usually this is a good thing but sometimes it covers up code you need to see underneath.



    IntelliSense Out Of The Way

    If you want to temporarily get IntelliSense out of the way just press and hold the CTRL key on your keyboard:

    5-17-2012 2-24-38 AM


    This will make IntelliSense transparent so you can see the code underneath.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: C++ Automatic Brace Completion


    5-16-2012 3-08-49 PM

    One of the new features in VS2013 for C++ Developers is automatic brace completion. We’ve had this in other languages for a while and this is an example of the C++ language gaining IDE parity with VB and C#.


    Essentially, if you type any of the following characters:

    { (curly brace)

    [ (square bracket)

    ( (parentheses)

    ' (single quote)

    " (double quote)


    The editor will automatically add the appropriate closing character to complete the set as you type.



    Turning it Off

    If you don’t like this feature, you can always turn it off by going to Tools | Options | Text Editor | C/C++ | General and deselecting Automatic Brace Completion:

    5-17-2012 2-05-24 AM

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: Distinguishing Multiple Instances of Visual Studio



    So this next feature I don’t personally have much use for but it may be useful for some of you. Basically, with older versions of Visual Studio, you would have multiple instances opened and you couldn’t distinguish between the active and inactive ones:

    7-2-2013 9-16-18 PM


    Now in Visual Studio 2013 you can distinguish between multiple instances:

    5-16-2012 2-22-36 PM


    It works with all the themes. Here is what it looks like if you are using the Dark theme:

    5-16-2012 2-24-40 PM




    I think this is one of those features that you either love or just don’t care about. If you work with multiple instances often this could be a big help.

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: Options Dialog Changes


    In this post I’ll talk about a couple of changes to the Tools | Options dialog.  It may not be sexy but it’s actually a nice improvement that many developers can appreciate. So on to the goodness…



    The Options dialog now includes a search box:

    5-16-2012 12-16-23 PM


    It not only searches the left hand side of the dialog for keywords:

    5-16-2012 12-18-29 PM


    But also searches the right hand side as well:

    5-16-2012 12-19-52 PM

    (NOTE: It’s not actually searching the right hand side of the dialog but rather searching keywords that have been put in to cover most of the options available on the right hand side. You can easily test this by searching for the word “translation” which is clearly in the image above but yields no results when searched.)


    This feature is a little redundant with the QuickLaunch feature ( but is more localized so you can search from within the dialog. This makes it better for multiple option searches in my opinion.



    Another cool option is the ability to (finally) resize the Options dialog so you can see more of the information. Simply got to any corner and resize the window to taste:

    5-16-2012 12-30-53 PM




    So, again, nothing too sexy but some good, solid improvements to the Options dialog. Enjoy! :)

  • The Ultimate Visual Studio Tips and Tricks Blog

    Visual Studio 2013 Preview: Enhanced Scroll Bar


    Visual Studio 2013 has another great new feature: enhanced scroll bar functionality. The new scroll bar will show cursor location, breakpoints, and much more! Let’s take a look.

    5-17-2012 12-51-16 PM



    Power Tools

    Before we begin I want to address where some of the new features in VS2013 are coming from. In Visual Studio 2013 many of the new features we put into the product were actually introduced via the Productivity Power Tools for Visual Studio 2012. This is an ongoing trend and you will see that many of the new features from future versions will come directly from the Power Tools. If you are still on 2012 you can get a lot of the newest functionality by installing the Visual Studio 2012 Power Tools which can be found here:



    Scroll Bar Options

    To really get a handle on the new scroll bar functionality the first thing you should do is Right Click on the vertical scroll bar and choose Scroll Bar Options:

    5-17-2012 11-57-37 AM


    You will see several settings that can be modified:

    5-17-2012 12-00-10 PM

    (NOTE: You can also get to this area by going to Tools | Options | Text Editor | All Languages | Scroll Bars)



    Show Scroll Bar

    5-17-2012 12-08-43 PM

    The first two options are pretty self-explanatory they will allow you to show or hide the scroll bars. For the most part you will leave these checked unless you have some special reason not to have them visible. 



    5-17-2012 12-12-18 PM

    The Display area allows you to turn on annotations that will show special items throughout the entire document within the scroll bar. This allows you, at a glance, to see where things like breakpoints and bookmarks are. We will look at these in the order you are most likely to encounter them but here is an example of the vertical scroll bar with annotations in it:

    5-17-2012 12-32-50 PM



    Show Caret Position

    5-17-2012 12-17-37 PM

    The first annotation you will most likely encounter is the caret position indicator. It simply shows the current position of the cursor with a blue line in the scroll bar.



    Show Changes

    5-17-2012 12-28-50 PM

    If you missed my blog post a couple of years ago on tracking changes in the editor, this is a good time to read it. You can find the post here:


    The Show Changes option simply shows the changes within it so you can see modifications at a glance for the entire document.



    Show Marks

    This options is fairly broad and covers several types of marks that can appear in code. Most notably this will show breakpoints:

    5-17-2012 12-42-29 PM


    Additionally, this will also show things like Bookmarks:

    5-17-2012 12-44-01 PM



    Show Errors

    The final indicator is arguably one of the most important. It shows any syntax errors the editor is aware of:

    5-17-2012 12-46-58 PM


    This let’s you quickly see where there are errors that need to be fixed before you compile your code.




    There are two behavior options for the vertical scroll bar: bar mode and map mode. So far everything we have seen is the traditional bar mode for the scroll bar. Now we will switch to map mode:

    5-17-2012 12-55-12 PM


    Map mode essentially turns your vertical scroll bar from this:

    5-17-2012 12-56-48 PM


    To this:

    5-17-2012 12-57-38 PM



    Source Overview

    Map mode is miniature look at your document so you can quickly get a feel for your code. There are four options for source overview when using map mode. I’ll show examples of the four views below. Of these the Off setting will be the most confusing until you see the Preview Tooltip in action so be patient.



    5-17-2012 12-57-38 PM



    5-17-2012 12-59-53 PM



    5-17-2012 1-00-50 PM



    5-17-2012 1-02-23 PM



    Preview Tooltip

    Regardless of which map mode view you use there is also an option to have the Preview Tooltip. Simply put your mouse pointer over any part of the vertical scroll bar and you will get a preview of the code at that position in the document:

    5-17-2012 1-09-33 PM



    All annotations previously mentioned also show up in map mode:

    5-17-2012 1-12-45 PM



    Go to a Specific Location on the Scroll Bar

    You basically have two options when you want to go to a specific location on the scroll bar. Let’s examine both ways.


    Left Click

    As long as you are in map mode:

    5-17-2012 2-39-51 AM


    You can simply LEFT CLICK any area on the scroll bar and you will jump to that location:

    5-17-2012 2-41-10 AM


    For this reason, I suggest, even if you don’t want the map, that you at least use map mode set to Off to get this functionality so you can quickly move around using the scroll bar:

    5-17-2012 2-44-42 AM



    Scroll Here

    Now that you have a solid base level of knowledge for this feature there is one more important item I want to show you: Scroll Here. If you find any place that is interesting to you in the vertical scroll bar and want to quickly go to that location you can simply Right Click the location and choose Scroll Here:

    5-17-2012 10-12-17 PM


    The new location will come into view so you can begin looking at the code:

    5-17-2012 10-13-50 PM




    The enhanced vertical scroll bar is a great tool for developers to quickly see places of interest and to examine those locations. Try this feature out and see if you like it as much as I do. :)

Page 4 of 135 (1,345 items) «23456»