Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
User name:
Password:
Save Password
Forgot your password?

 All Forums
 Visual Assist
 Feature Requests
 Find refenrences to have caller/callee option
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

menih
New Member

8 Posts

Posted - Jan 05 2011 :  7:57:12 PM  Show Profile  Reply with Quote
It would be very nice to have a caller/callee capability in find references. Dev Studio has it but it is not as easy and the find references UI.

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jan 12 2011 :  4:41:05 PM  Show Profile  Reply with Quote
We have a feature request to filter find references list, i.e. to show only callers:

case=2867

I am wondering why callee list could be useful. I know it is in VS but personally I have never used it (tried of course, but did not utilize). Out of interest, do you find it useful? What type of work can be accelerated by using this feature?
Go to Top of Page

menih
New Member

8 Posts

Posted - Jan 12 2011 :  5:06:56 PM  Show Profile  Reply with Quote
I should have clarified earlier. What I meant is for a complete nested drill down capability (callers could be expand to show their callers, etc).
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jan 13 2011 :  9:03:21 PM  Show Profile  Reply with Quote
I have put in a feature request to see what the developers make of it:

case=54126

For now, you can use the clone feature (last button) of VA Find References as a "workaround" (so you can later go back to the original list, like when you collapse the tree. certainly, slightly different)

Edited by - accord on Jan 14 2011 8:04:27 PM
Go to Top of Page

rogerio.ramos
New Member

USA
9 Posts

Posted - Sep 17 2013 :  6:08:41 PM  Show Profile  Reply with Quote
It is been a while that I am hoping for a feature like this one. I usually navigate in a large code bases and I use "Find References" a lot. It easily finds all the callers of a function but then I need to navigate up and up. But at some point I need to go back and take a different path. The problem is that the find reference results doesn't keep track of this.
My suggestion is if you want to find references of, as an example, CreateFile(), you will see a list like this:
WriteDataFile(1234): DWORD ret = CreateFile(
ReadFiles(2345): ret = CreateFile(
DeleteFiles(3456): CreateFile(L"adfa",

Then if you click in "ReadFiles" above then it would run "find references" of "ReadFiles" but without losing the current results by putting the new finding underneath it. Example:

WriteDataFile(1234): DWORD ret = CreateFile(
ReadFiles(2345): ret = CreateFile(
... SearchFiles(678): ReadFiles();
... ProbeFiles(789): hr= ReadFiles();
DeleteFiles(3456): CreateFile(L"adfa",

And the you could click in ProbleFiles and open a new level of results underneath it or you could go back and click in DeleteFiles and see results underneath that level. And so on...

WriteDataFile(1234): DWORD ret = CreateFile(
ReadFiles(2345): ret = CreateFile(
... SearchFiles(678): ReadFiles();
... ProbeFiles(789): hr= ReadFiles();
DeleteFiles(3456): CreateFile(L"adfa",
... CleanUp(234) : DeleteFiles();
... ... Reset(2) : CleanUp();

This feature would help a lot to browse complex code bases like the one I work daily.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Sep 18 2013 :  9:23:28 PM  Show Profile  Reply with Quote
We will contact you about a private beta.
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - May 23 2014 :  3:04:33 PM  Show Profile  Reply with Quote
A new case was opened for filtering of Find References results: case=78686.
case=78686 is implemented in build 2036.
See the context menu for filtering commands and keyboard shortcuts.
Go to Top of Page

rico
Junior Member

12 Posts

Posted - Nov 25 2014 :  02:10:38 AM  Show Profile  Reply with Quote
This post just to emphasis that topic with the hope that it will accelerate the implementation of this feature that in my humble opinion is a real miss.


Go to Top of Page

rogerio.ramos
New Member

USA
9 Posts

Posted - Nov 25 2014 :  11:58:28 AM  Show Profile  Reply with Quote
Regarding accord message in 9/18/13, the private beta I got was actually a different product and that didn't handle a huge code base efficiently like Visual Assist does. So I still would prefer an improvement in the find reference tool in a way I don't need to use two different tools with different internal databases while editing and browsing the code. Still waiting here...
Go to Top of Page

rico
Junior Member

12 Posts

Posted - Nov 26 2014 :  02:56:42 AM  Show Profile  Reply with Quote
Thank you rogerio for your update.
I hope that the common sentence used by support team, i.e, "We are considering to implement something like this at some point: case XXX", is not just a way to drop out the issue...
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Nov 26 2014 :  2:12:26 PM  Show Profile  Reply with Quote
Is there a consensus on what is preferred or acceptable behavior?
- a navigation/history stack such that find references supports back/forward of result sets (though memory usage could become an issue)
- embedding new results within pre-existing results when find references is executed on an item in the results list
- automatically saving current results to a new window when find references is executed on an item in the results list (as opposed to when find references is executed from the editor)
Go to Top of Page

rogerio.ramos
New Member

USA
9 Posts

Posted - Nov 26 2014 :  5:53:11 PM  Show Profile  Reply with Quote
I believe that embedding new results within pre-existing results is very convenient and powerful since you can construct one or more call stacks within a single hierarchical structure. See [1]. You might even want to have a way to export the whole thing to a document (e.g.: word, e-mail, etc) so you preserve and share your code navigation efforts.

[1]
Let's say you initially look for 'walk()' references. After that you want references of 'takeADayOff' and 'takeASickLeave'. And after that, reference of 'workAtCompany()'
(100) walk()
exercise(150): walk()
takeADayOff(200) : walk()
....(500) takeADayOff()
....workAtCompany(600) : takeADayOff()
........(1000) workAtCompany()
........liveInUS(1100) : workAtCompany() --> The call stack is very visible: liveInUS() --> workAtCompany() --> takeADayOff()
takeASicLeave(210) : walk()
....(510) takeASicLeave()
....workAtCompany(601) : takeASicLeave()
takeAVacation(300) : walk()
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Nov 26 2014 :  7:11:10 PM  Show Profile  Reply with Quote
In many cases, yes the call stack will be very visible, but I would think that there could be just as many that are not very visible - where the list becomes a mess. It would be nice to have a solution that works in all cases (might simply be the addition of two commands: one for embedded results and one for separate results).

Note that Copy All is already supported by the results list.
Go to Top of Page

rico
Junior Member

12 Posts

Posted - Nov 27 2014 :  1:29:26 PM  Show Profile  Reply with Quote
Well, I was thinking of showing callers in an usual tree view, without having to re-launch the tool several time but using the "collapsing" feature of a tree to not have the results being a mess.

Just like what I was talking about in the "Show class derivates tree / Inheritance hierarchy" topic.

And while I'm not wanting to promote Eclipse IDE, I must admit that this feature is pretty well implemented and was very usefull to me at one moment when I had to use eclipse (which is no more the case).
Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000