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 references history
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

jmihalicza
Ketchup Master

Hungary
66 Posts

Posted - Feb 06 2008 :  08:10:58 AM  Show Profile  Reply with Quote
There was a topic 'Find XXX History Stack' about a similar thing.
I met the following problem:
I navigated through the code using find references, go to definition etc. and found something I was interested in. Then I had some interrupts, I did different things, and finally I got back to my original context and I wanted to continue what I started before.
I knew there was a method I had been looking for but I didn't remember its name. If I had used find in files instead of find references I would have had the find history so I felt this history is missing from find references compared to find in files, though from my point of view these two finds are very similar. I can also accept if find references and find in files have a common history.
This pops up the question whether we should store the identifiers of go to definition invocations.

Maybe we can widen the concept a little bit. I sometimes feel that the file history is just not big enough. I am usually working on 5-6 files simultaneously and I don't like having more opened. The maximum of recent files is only 24, which is not enough a lot of times.
A context history would be welcome with which I can go back in time to the areas I was wandering in the code. This is a kind of slicing similarly to the browser history where the huge web content is filtered to the visited pages.
I often use CTRL+(SHIFT)+- to navigate back and forth the visited places, but this is only (document and )cursor position history, what I want is a general context history where I see the actions I did (find in files, fsiw, ofiw, go to def. etc.)

Ok, good, now that I wrote the whole story I remembered that there is something similar in the VA View pane :)
I thing the addition of options like include finds in references, include finds in files, include gos to definition would suffice.
Then double click would invoke those commands again.

feline
Whole Tomato Software

United Kingdom
18947 Posts

Posted - Feb 06 2008 :  2:38:09 PM  Show Profile  Reply with Quote
The top half of VA View should help a bit. If you right click you can tell it to include opened files, modified files and modified methods.

A second suggestion is cloning the Find References Results window. You can refresh this window, so that it is up to date after you have done a series of edits.

The broader concept, some of these actions are meaningless without their context. Alt-g for example, when used on a local variable. When the code is in flux the variable may no longer exist when you come to look at it again.

I am not sure how this would work in reality.

zen is the art of being at one with the two'ness
Go to Top of Page

jmihalicza
Ketchup Master

Hungary
66 Posts

Posted - Feb 06 2008 :  3:19:43 PM  Show Profile  Reply with Quote
Yes, for ALT+G it is sometimes really context dependent, but the context can be important too, the history item could even contain that also.
If the context doesn't exist some functions like go to can be disabled, but the item in the history is useful for quick overview of visited areas even if it has been deleted.
The point is that when I browse the code I jump from parts of the big code base to other parts, and many times I just don't remember where I have been gone accross, but I would like to go there again, or I would just like to know the met functions, contexts etc.
This is a kind of 'slicing', which is a general term for similar problems handling big code bases and help the user concentrating on certain areas. I think this is what is addressed by the VA View history and works pretty well.

For the find references history maybe we are talking about different things or I don't know the available features exactly.
So the use case is the following:
1. find references to A::f
2. I browse the results, in one of them I see the details, I ALT+G from the code to another place.
3. I look around there, I find another call or symbol, I invoke another find ref. let's say B::g
4. I do an OFIW x.h
5. etc.
The VA View history is cool, but when I browse the results of FR I often jump on false hits until I find what I have been looking for. The file and function history is very useful, but many times I would like to get back the same find references result window that I remember I had a quarter earlier.
So what I miss is different 'find references search for A::f' and 'find references search for B::g' entries in the history which would make me able to get back the needed find references results again.

Another approach, maybe simpler to implement and makes more sense:
I tried to think over the case of OFIW and FSIW, simply a drop down history (remember the entry in the text box if I don't escape from the window but select a result) would suffice. I guess this has already been requested by others.
So the missing point in this approach is the place to put the find references history.
I just noticed Goto Recent Method and Open Recent File in the context menu.
Well, to put everything together, I fall back on the following requests that I think would make sense:
1. drop down history in OFIW
2. drop down history in FSIW
3. recent list for find references searches in the context menu similarly to the existing goto method and open file recent lists.
Go to Top of Page

sl@sh
Tomato Guru

Switzerland
204 Posts

Posted - Feb 07 2008 :  03:54:43 AM  Show Profile  Reply with Quote
@Find References: Once you did find references to A::f and realize you need to follow-up more searches, you should 'clone' your find references results by pressing the 'Clone Results' Button in the find references window's button toolbar. You will get a new window containing these results that will not change except for refreshing (if you press the appropriate button).

When you do another find references, it will present it's results in the original window, but you still have the cloned results from your first find.

This is a new feature from version 1614 (IIRC), so make sure you have the newest version installed.

Edited by - sl@sh on Feb 07 2008 03:56:32 AM
Go to Top of Page

Damir
Senior Member

Canada
34 Posts

Posted - Feb 01 2010 :  9:47:44 PM  Show Profile  Reply with Quote
I'm a long time user of VA, but started to use "Find Reference" functionality only recently. I really love it! It makes examining the code much easier. I also felt that the "History" functionality is missing from Find References window, which is a pity.

Just as original poster suggested it should function exactly like "Find History". I don't want to sound too insulting but whoever came up with "Clone Results" and thought that it was good idea was probably high on something. Clone Results is just a poor excuse for History dropdown. Besides being not even 1% intuitive, it's not really practical either. When I start to follow usage of some variable, I might end up 5 levels deep following other functions that use the variable. Then I might want to go back to any of the previously searched keywords. In this case History list would be easy and intuitive, cloning results after each new find reference would not.

As for the fact that previously searched symbols might be deleted, well not much that could be done here. But at least if I have the variable/function name which I can copy, then I can just use the regular search.

Thanks
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18947 Posts

Posted - Feb 05 2010 :  7:14:58 PM  Show Profile  Reply with Quote
Adding the Find References searches to the Most Recently Used list in VA View makes a lot of sense, and I have put in a feature request for this:

case=39293

cloning the Find References Results list, we received a lot of requests to support more than one result list before this was added. This does allow you to have a history of searches, but it is designed more for when you need to track more than one symbol at a time, so you actually want to look at and use two or more different results at the same time.

zen is the art of being at one with the two'ness
Go to Top of Page

Damir
Senior Member

Canada
34 Posts

Posted - Feb 06 2010 :  11:29:45 PM  Show Profile  Reply with Quote
Thanks for the reply and for consideration for feature list.

There's another usability issue with Clone Results - it creates another window. Window management becomes messy if you "clone" more than 2 results in order to track a symbol usage by examing usage of its callers. That's why "History" combo makes much more sense - only one window and you can quickly go back and forth. Even if it had to redo the search for symbol usage every time I pick an item from history, I'd be very happy.

Regards,
Damir
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18947 Posts

Posted - Feb 08 2010 :  09:50:32 AM  Show Profile  Reply with Quote
For the cloned Find References Results windows, we are considering a change to place them into tabs inside the main Find References Results window:

case=33200

Currently I have no estimate on when this might be done, but it might help if / when it happens.

zen is the art of being at one with the two'ness
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