BT

InfoQ Homepage News Future Focus: Call Hierarchy in Visual Studio

Future Focus: Call Hierarchy in Visual Studio

Bookmarks

The Visual Studio team has started to shed some light on the current development of Visual Studio, revealing some of the features that will most likely be available in the next release of Microsoft's IDE, and inviting everyone to comment on those features while in their incipient phase.

Code Gallery has been chosen as the open forum to discuss new Visual Studio features, and the project is available here. The latest feature to be discussed is Call Hierarchy.

What is Call Hierarchy?

According to Charlie Calvert, Call Hierarchy is:

One of many features that the team has planned for the next version of the IDE. It allows developers to explore a code execution path by showing all calls to, or calls from, a selected method. There are several scenarios in which this functionality might be useful. It will allow developers to:

  • Get a better understanding of how code flows
  • Navigate through their code
  • Understand the impact of making changes to their code.

This is what it makes it different from other features:

  • Unlike Find All References, it will allow you to drill down several levels deep so that you can view complex chains of method calls and additional entry points.
  • Unlike the run time Call Stack displayed by the debugger which shows a single code execution path, the Call Hierarchy will be available at design time, and it will allow you to explore all possible execution paths.

Implementing Call Hierarchy

There are currently two ways proposed to display the Call Hierarchy:

  • The "In-Depth Understanding" visualization will allow developers to thoroughly explore a call hierarchy.
  • The "Quick Understanding" visualization will help developers quickly navigate or explore a call hierarchy while still inside the editor window.

The "In-Depth Understanding" will open up a docking window displaying the following information:

  • The Calls To tree view shows all the methods that call the selected method. The tree visible in this sub-window can be expanded so that you can drill deeper into the stack of callers.
  • The Calls From tree view shows all the methods called by the selected method. This tree can be expanded to further explore the stack of called methods.
  • Preview – This pane provides a quick read-only preview of the code surrounding the selected method.

The "Quick Understanding" will not display the Call Hierarchy information in a docking window but inside an inline view, allowing the developer to stay in the code context. Either way, everyone is invited to comment on this proposed feature and give a feedback here.

Rate this Article

Adoption
Style

Hello stranger!

You need to Register an InfoQ account or or login to post comments. But there's so much more behind being registered.

Get the most out of the InfoQ experience.

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Community comments

  • It was time !

    by Pablo García /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    It was time MS introduce this feature on its development IDE !

  • Re: It was time !

    by Pavel Samokha /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    As far as I remember Eclipse has such feature for a long time.
    As well as in .Net Reflector can show this for you (from user-side a little slow).

  • Typical Microsoft

    by Neil Bartlett /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    Well, this is hardly the first time Microsoft have copied a feature that the competition has had for many years, and then claim it as an amazing new innovation.

  • Re: Typical Microsoft

    by Charles Cherry /

    Your message is awaiting moderation. Thank you for participating in the discussion.

    <Rant>
    My IDE can beat up YOUR IDE, so THERE! Nyah!

    My IDE had it first! You copy-cat!

    Would the Microsoft Bashers please take their comments elsewhere? Your prepubescent desire to always prove that "your" language or "your" IDE is better really gets old, you know?

    Exactly WHERE in this article is Microsoft claiming innovation on this feature?

    Exactly WHERE in this article is Microsoft claiming that they are the first to introduce this amazing new feature for the first time?

    And can you explain WHY it matters that other IDE's already have this feature?
    </rant>

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

Allowed html: a,b,br,blockquote,i,li,pre,u,ul,p

BT

Is your profile up-to-date? Please take a moment to review and update.

Note: If updating/changing your email, a validation request will be sent

Company name:
Company role:
Company size:
Country/Zone:
State/Province/Region:
You will be sent an email to validate the new email address. This pop-up will close itself in a few moments.