Vscode-cpptools: Call hierarchy

Created on 17 Apr 2016  Â·  70Comments  Â·  Source: microsoft/vscode-cpptools

Perhaps the inverse to #15; to be able to view an entire call hierarchy of a function.

Seen it implemented in Eclipse.

Feature Request Language Service

Most helpful comment

We are still tracking this and planning to do it. It has a dependency on some other work we are doing to further unify the codebase between VS and VS Code. We don't have a release date for this yet, but when we know which release it will appear in, we will update the Milestone accordingly.

All 70 comments

Having this feature would be awesome!
In Eclipse it also works for class fields, enum constants and global variables (showing functions they're used in, and expanding the function call hierarchy from there). To be better than Eclipse, making it work for macros as well would be extra cool :)

It's really invaluable to understand and navigate non-small code bases.

Visual Studio has this, but VS Code doesn't currently have any interface to enable a call hierarchy (other than possibly some unusual interface involving repeated dropdown popups). Maybe someone could file a feature request with VS Code to enable this, if it's not already been requested? This would require the IntelliSense engine from our end. It's not on our radar to implement this yet though (Find All References would be higher priority).

Adding my vote to this one. This would be my number 1 most important missing feature and use it daily in eclipse to navigate and understand the structure of a large code base. I can live without find all references feature and use global text search with whole word option instead.

A new tree view api has been added to vscode. So, this should be doable now.

Can I vote twice for this one? The well implemented call hierarchy is the main reason eclipse is still my go-to IDE as its an invaluable tool to navigate 1M+ LOC code bases.

Awesome feature to have! Right there on the top of bucket list..

+1 for having this useful feature integrated soon

I would also appreciate this feature. Highly used feature... I finally could switch from eclipse to Visual code.

@KarolisMil Yes, this is our second most up-voted feature request (behind find all references). Survey feedback indicates that too many users are having trouble getting IntelliSense setup so we're working on improving that first.

I need the Call hierarchy too!

anynews

@iradiohead No news. We haven't started working on this yet. We plan to implement IntelliSense-based Go to Definition and Find All References before a Call Hierarchy, all of which requires implementing a multi-translation unit IntelliSense (our currently one is only one translation unit at a time).

waiting for this feature. Daily waste like an hour because of absence of this feature!!

please implement this. hard to be an IDE without searching the callers.

need this feature. I think it's useful for large project.

+1 for this feature
Coming from eclipse, this is a MUST HAVE

Any updates?

This is now third on the feature backlog. I don't have a date for you yet though.

Great news! I am hoping its going to be similar to Eclipse's call hierarchy where a button lets you select if it's caller or callee [1] (though I rarely look up callees). Unlike [2]. However, like [2] would be great if we could have a code definition window where a preview is displayed for the selected item. This helps avoid context switching in the main editor.

[1] https://help.eclipse.org/mars/topic/org.eclipse.cdt.doc.user/images/view_call_hierarchy.png
[2] https://docs.microsoft.com/en-us/visualstudio/ide/reference/call-hierarchy?view=vs-2017,

Like Eclipse, XCode, PyCharm, whatever... this is absolutely needed in any serious professional programming environment
Just find myself to switch back to XCode on my mac right now because I need to see a big project call tree... sigh...

+10086 if any progress

This would be great to enable in cpptools extension!

https://code.visualstudio.com/updates/v1_33#_call-hierarchy

+1 for the request!

The Call hierarchy/Find references/Peek references can't work in VS code.
I found this issue was first reported at 2016, can we have this function now?
This is a very useful feature in DEV tool~

Any updates?

@defcod We don't have this work on our schedule yet.

This was in the Sept 2019 milestone:
"@sean-mcmanus sean-mcmanus added this to the September 2019 milestone on Apr 3"
and now back on deck - what's needed to prioritize this sooner?

This is the 3rd most voted feature, but I don't think it made our cut for milestone scheduling purposes, because we have other stuff we're prioritizing like localization, non-UTF-8 support, make support, cmake support. In particular, we want to improve our infrastructure and code sharing with VS so that we can share a common call hierarchy implementation (and other features) instead of wasting time writing our own implementation that might get thrown away later (e.g. like what we're doing for Find All References). @bobbrow Might be able to explain better?

I think this function is very useful and important. After "Find All References" finished,this function is what we are eager to implement. I think this function's priority is higher than localization, non-UTF-8 support because currently we have no other tools to replace it. Although cpptools can't support non-UTF-8 and localization, we can convert code files to utf-8 using some convert tools.

@sean-mcmanus assuming you are talking about better integration with intellisense? @bobbrow?

@sdebnath I'm talking about moving towards more code sharing with VS.

I'll also appreciate this feature.

Any update on the development milestone of this feature? I just jumped into a code base with 2M+ lines of code. Using "find all references" alone is not going to carry me to the other end.

@nerdyyatrice It's targeted to start investigating post-v1, so we might have more to scheduling details after we ship 1.0 in January.

VS Code is great. Would like to have this feature. Still using source insight for this reason.

Hah, I am on the same boat. Still can't get rid of Source Insight even though its Windows only. On to better news, VSCode announced that they finalized the Call Hierarchy Provider API in the 1.40.2 release notes. They linked to https://github.com/microsoft/vscode/blob/3a5209ec6474137f69078727f7fe255c97fb8795/src/vs/vscode.d.ts#L3983-L4021

Any thoughts when this will be available? I am sticking with SI for this feature and also for fuzzy searching of symbols.

@sidhuhere Hopefully some time next year (not "early" next year).

Any updates?

@sean-mcmanus It's strange to me... Four years past with zero progress in Call hierarchy feature. That is number one reason why people are staying in Eclipse yet. I would say there is no problem with prioritization, there is problem with lack of resources maybe. Could you extend developer team to solve and react faster on most requested features?

@UBNT-OleksandrHaidamaka VS Code just added call hierarchy support last year https://github.com/Microsoft/vscode/issues/16110 (i.e. it took them 3+ years), during which we added other features that were more upvoted, such as Find All References, Rename, and semantic colorization (V2 coming in 0.29.0, since it requires VS Code 1.44). Starting with the next milestone, we'll be working on sharing more code with the VS team to enable more features to be added faster, such as call hierarchy (VS only runs on Windows, so cross-platform work has been ongoing). We got a new developer a couple months ago too.

+1
Any updates? It's highly requested feature, I am stuck between Eclipse and VScode. I can't move fully to VScode till this is implemented. I hope someone will work on it.

Thanks our future savior ;)

+1
Any updates? It's highly requested feature, I am stuck between Eclipse and VScode. I can't move fully to VScode till this is implemented. I hope someone will work on it.

Thanks our future savior ;)

Same here but with CLion which is super slow in general for large cpp projects

This is the 3rd most voted feature, but I don't think it made our cut for milestone scheduling purposes, because we have other stuff we're prioritizing like localization, non-UTF-8 support, make support, cmake support.

Thanks to such decisions, I still will be very happy to pay 250€ for Source Insight license instead of switching to your free tool.

+1
I would greatly appreciate this feature, so that I no longer need to run code and eclipse.
All the best!

Yes, the same only need eclipse for Call hierarchy.
This is the only important feature missing to VSC... it's a shame.

Yep, missing this a lot.

Any updates?

We are still tracking this and planning to do it. It has a dependency on some other work we are doing to further unify the codebase between VS and VS Code. We don't have a release date for this yet, but when we know which release it will appear in, we will update the Milestone accordingly.

do not understand how anyone can use an IDE for anything more than a toy project without this... This is the single most used feature for me. Remember you READ more code than you WRITE. When refactoring/investigating, you need to know what the callers are.

@joske Find All References is a potential workaround.

Setting aside the noise and afraid I'm being a part of it. First of all I appreciate the devs who're still tracking this feature and have a plan to release this. I know the ocean of comments above already has someone pointing it out. I just yearn for this feature in vscode. I use vscode for just about anything when it comes to editing files, be it .c, .md, .yaml, .py, .puml. Just not when it comes to browsing the code which is like 80% of the work I do all day. From the day I started my carrier to today, the single most important feature that has built me as a developer is to be able to see that beautiful call hierarchy tree.

The day this feature is released I'll switch from Eclipse to vscode in a heartbeat. I'll even pay for it.

As it has been written many times, we (as corporate developers) absolutely need call tree feature in large projects.
And, as many we stick to Eclipse for this exact feature (and refactoring in C++).
Please mind that call tree doesn't go without a proper code analysis (which is far from perfect with intelisense).

It would be wonderful to have this feature.

There are two reasons why I don't leave for VS code in c++ 1) call hierarchy 2) refactoring, such as extract method etc.

Any updates?

@cttpp Not yet. Our current focus for 1.2.0 (January release) is improving stability and fixing bugs.

This is very important to me and hope to see this feature soon

We really need call hierarchy :(

We really need call hierarchy ,it is been four years.

need this feature

The feature really needs to be added.
It is not possible to do code navigation properly with VSCode, resorting to other IDEs, specifically when need this feature.
The "Find all references" w/a does not help in case there are many callers to function, i.e. you need to remember the previous callers to know where you were.
It would be really great if the "call hierarchy" feature will finally be introduced in some version.
Thanks.

Please add this feature. It makes navigation much easier.

Yes I agree with other folks here..call hierarchy is the single most important feature while navigating large code bases to understand code flows. This is the only reason i still have to go back to eclipse for c/c++ code. Please prioritize this if possible

waiting for this feature。

Any news regarding this feature for C/C++?
This is really one of the key features for navigating code, can't believe it's still missing.
I'm using Netbeans or Eclipse whenever I need to look at the call hierarchy.
Please add this to VSCode.

I am trying to convince my colleagues to start using VSCode, but it's really hard without this feature since they use Eclipse now.

@kliteyn Comment https://github.com/microsoft/vscode-cpptools/issues/16#issuecomment-728651015 is still in effect. However, other team members have been doing work on infrastructure work towards more "unification" with VS, so progress is being made in that respect, e.g. 1.2.0-preview uses a new IPC mechanism.

Was this page helpful?
0 / 5 - 0 ratings