New CodeLens Indicator–Incoming Changes

New CodeLens Indicator–Incoming Changes

  • Comments 25


CodeLens has been a blockbuster feature in Visual Studio 2013. Consistently it is listed among the best loved features for the release. We continue to work on it and in Visual Studio 2013 Update 2 CTP2 , we are releasing a new indicator called Incoming Changes.


To recap, CodeLens is a heads-up display in your Visual Studio Editor where you can find information about your code in-context. Here is a quick screenshot to jog your memory.



There is an excellent MSDN article introducing CodeLens and I recommend you read it if you have not looked at CodeLens earlier - Find code info directly in the editor using CodeLens.



In order to try out this feature you need

1.       Visual Studio 2013 Update 2 CTP2 client IDE

2.       Team Foundation Server 2013 Update 2 RC (also available in the same download link above).


Incoming Changes Overview

If your team uses multiple branches in Team Foundation Server Version control, you need to know changes occurring in various branches on the code element you are working on. The new CodeLens Indicator - Incoming Changes provides this information. Previously, you had to run multiple version control commands to get this information. Now you get it in one click.


For demonstrating this feature, I am using the FabrikamFiber sample application. I have created the following set of branches.



Now I make a change and check it into the FabrikamFiber-Dev-UI branch. When I look at the code element in FabrikamFiber.CallCenter branch, I see the following CodeLens Incoming Changes Indicator.



You can bring up the Detail window by clicking on the indicator or pressing Alt+6 inside the method or class.


Source Branch for Incoming Change

The icon next to the branch name gives you information on the relationship of the source branch with the current branch.



Other types of icons that can appear are




Change is coming from a parent branch


Change is coming from a peer branch


Change is coming as a Reverse Integration from child branch to its parent


Change is coming as a Forward integration from a branch to its child


Change is coming from a branch further away than a parent, child or peer relationship


Change is coming as a baseless merge from an unrelated branch



Follow-up Actions

For each incoming change listed in the detail window, you can perform additional operations.


·         You can compare the incoming change with the local version to identify exactly what has changed.





·         You can view more details of the Incoming Change



·         You can track how the changeset is progressing in the branch hierarchy.





Here you can see that the Incoming Change (with changeset #13) is present only in the FabrikamFiber-Dev-UI branch and has not been merged into any other branch now.


·         You can ignore a particular branch if you are not interested in activity from that branch.



·         You can also hide intermediate branch merges. This is especially useful when there are lot of activities happening in the branches and you want to get a more concise view. NOTE that we have turned it on by default. If you want to see all changes, you can uncheck this option.


Here is a stage in the development process with lots of changes and merge activity among the branches.



If you uncheck “Hide Intermediate Branch Merges”, you will get a more detailed view.



·         Connect to the Author via IM, Video, Email, Lync Call or Voice Call.



Please note that many of these actions (e.g:- Changeset Details & Track Changeset) are already possible from Team Explorer; CodeLens provides a much more convenient entry point into them directly from code.

Turn it off

If for any reason, you don’t want to see this indicator, you can turn it off in Tools->Options.

Right click on the CodeLens Indicator line and the following menu will appear.


If you choose “CodeLens Options”, the Tools->Options dialog for CodeLens is shown. You can disable “Show Incoming Changes” to hide this indicator.



As always, we are interested in hearing your feedback on this feature. Try it out and let us know.

Leave a Comment
  • Please add 2 and 8 and type the answer here:
  • Post
  • It's a crying shame that CodeLens is not available in VS Premium. Terrible decision.

  • Any word on C++ support for codelens?   This would be great for our larger C++ projects.

  • @Jsmauel

    No updates on CodeLens for C++ yet.  It is on the backlog and planning discussions are in progress.

  • I echo the sentiments of others - this is unlikely to be adopted by the masses due to fact it is only bundled with ultimate - you should look at that if you really want people to use this.

  • really hope this feature comes down to premium. Not even us Gold partners get access to Ultimate, so the majority of VS users, like the SMB crowd, will never see this stuff. Looks like a killer feature though, hopefully you reconsider.

  • Is there a way to "Auto Hide" the CodeLens feature?  Similar to how I can make the Solution Explorer go away when I don't need it?

    I really like the feature, but I don't like how it takes up a line of vertical space for every method on my screen.  It would be nice if there was a way to hide it when I don't need it, and then make it pop up when I want to see it.  For example, if I mouse over the method name, then the CodeLens appears for that method.

  • @Eric

    Currently, there are no plans to change the UI layout and appearance of CodeLens. We will certainly keep your feedback in mind as we think about enhancements for the future.

  • Fantastic feature, completely wasted by making it available only in Ultimate. This would be a reason for us to switch to TFS at work if any of us could actually use this with our MSDN subscription.

  • "CodeLens has been a blockbuster feature in Visual Studio 2013."  No it has not. It has been a nice-sounding feature in VS 2013 Ultimate, which is only available to a tiny fraction of your user base. It can't be a "blockbuster" when only a tiny minority ever get to use it.

  • @Eric. They have a way to autohide the feature.  Use VS Professional or VS Premium.

Page 2 of 2 (25 items) 12