Understanding complex code with Code Map

Sign in to queue

Description

This short video introduces Code Map, a new feature for visualizing and navigating complex code without getting lost.

Video available in: Chinese (Simplified) Chinese (Traditional) Czech French German Italian Japanese Korean Polish Portuguese (Brazil) Russian Spanish Turkish

Related MSDN Article: Understanding complex code with Code Map

Embed

Download

Download this episode

The Discussion

  • User profile image
    Luke

    Nice feature, I believe it is available in the VS2012 Update 1 CTP 4?

    http://www.microsoft.com/en-us/download/details.aspx?id=34708

    ps. the MSDN link doesn't work (page not found).

  • User profile image
    DabizLegend

    Please, release a patch to address the issues XAML is currently having. Every time I fix one problem, another one arises.

  • User profile image
    MattYet​AnotherUser​Name

    Fail:
    1. I have Visual Studio Ultimate 2012 and the feature is not there.
    2. The link to the alleged MSDN article does not work

  • User profile image
    EstherFan

    Hi everyone,

    Thanks for all your comments. We have a team working on the broken MSDN link.

    To create code maps, you'll also need Visual Studio 2012 Update 1:

    https://www.microsoft.com/visualstudio/eng/visual-studio-update

  • User profile image
    DennisPan

    @DabizLegend: Could you give more detail on the XAML issue you are referring to?

  • User profile image
    vivihung

    @EstherFan:I've installed VS 2012 Update 1. However, I cannot see the code map in the menu by right clicking on any member of my C# project. Did I miss something?

  • User profile image
    Gleno

    Has anyone else noticed that the video references itself as a tutorial introduction? Now I don't want to use this feature because it's just too meta.

  • User profile image
    xpertprogra​mmer

    Thanks. Its a perfect feature...

  • User profile image
    Veena

    A feature where I can draw a block on the designer surface of code map which translates into C# code (Either a method, a variable) will be more interesting and useful.

  • User profile image
    Agros competus

    @EstherFan
    Firstly: Why doesn't this feature work with C++?!
    For crying out loud, stop with this passive aggressiveness already!
    If you are not going to support C++ fully than come out and say so already!
    You host things like GoingNative while on the other hand your own tools are not able to support C++ fully.

    Secondly: You need an entire team to fix one single broken link that should not have been broken to begin with ?!

    I'm guessing you are using Azure or some other microsoft cloud product?

    Been having lots of problems with MSDN lately. Takes ages for it to load. It was slow before but now it is even worse! Like Vista and W8 style!

    I find it strange that i now 4 days later after the release, gets notified of the release from vs2012 updater.

    Please don't tell me you use racial country release time tables.
    Like united states gets it first and the rest of the world gets it a few days later.

    Can any other people (not living in unite states) confirm this?
    Wouldn't be the first time.
    Yes i will complain until the country racism gets removed. Geo-blocking is racism too btw.

    @Gleno
    No, it is douchebaggery but mostly incompetence.
    Consider if a person would refer to itself like that. That would earn that person an a-hole stamp.

  • User profile image
    Omer Raviv

    This seems very interesting indeed. Excellent work and major kudos to the people who developed this. I think it'd be extremely helpful (At least as an option) to mark in a different color or otherwise emphasize the arrows from method to fields, where the method *writes* to the field (Rather than just read from it).

  • User profile image
    Klasik

    @EstherFan:I've installed VS 2012 Update 1. However, I cannot see the code map in the menu by right clicking on any member of my C++ project. Did I miss something too?

  • User profile image
    DennisPan

    @vivihung: Which version of Visual Studio 2012 did you install? Professional, Premium, or Ultimate? The feature is only supported on Ultimate

  • User profile image
    Stukalide

    I can't believe this feature isn't supported for C/C++. Un-be-lievable!

    Good grief, why not?!

  • User profile image
    Madams

    It is a shame this is only available in ultimate. This feature would be worth paying for as a plugin for visual studio professional. Have you ever thought of having an app store for development tool extensions within Visual Studio?

  • User profile image
    DennisPan

    @Klasik: C++ is currently not supported

  • User profile image
    CaRDiaK

    It is a shame this is only available in ultimate. This feature would be worth paying for as a plugin for visual studio professional. Have you ever thought of having an app store for development tool extensions within Visual Studio?

    ^ This

  • User profile image
    Itsho

    Very nice and elegant way to solve a problem.

    please, Can you share the project itself for a better understanding ?
    thank you in advance.

  • User profile image
    tomkirbygre​en

    While C++ lacks the metadata structures that C# 'inherits' from the CLR I do think you could do a better job at visualising C++ code in VS2012 than is currently the case. There are tools that build upon Clang this area that show that given an AST a great deal of insight can be gained and decent visuals rendered. 

  • User profile image
    Miguel

    I think this is a great feature to understand unfamiliar code and to communicate code structure across a team.

  • User profile image
    Homay

    Hey all,

    I think CodeMap is a very helpful tool to understand the code in the first look but, it will be more helpful if it can show the sequence of methods calls. For that, it will be easy to just use a method numbering solution to tag each method with a number that represents its sequence. For example, if method A is calling method B then method C it can tag method A with 0, method B with 1 and respectively method C with 2. In this case, who is using the code map will understand also the sequence of methods which is very useful information.

Add Your 2 Cents