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
 FindReferences with navigation context
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

slymz
New Member

USA
9 Posts

Posted - Jun 18 2020 :  10:45:15 PM  Show Profile  Reply with Quote
The accuracy and speed of Alt+G (VAssistX.GotoImplementation) is one cornerstone feature of VA.

I wonder, if an efficient *inverse* alt+g could be introduced? Kind of like VAssistX.FindReferences, but a non-comprehensive alternative with a simplified context list and much more efficient by only considering references, if any, that are in the navigation history and/or trailing back an internal breadcrumb of Alt+G's. In other words, upon query for a given symbol, it would present a subset of references that I could only get to by a sufficient (but potentially unreasonably long and exhausting) number of Alt+Left (VAssistX.NavigateBack) hits.


It would be an extreme productivity boost for a very common workflow scenario that goes like this:

1. We are reading through a implementation of a function, say "someUglyAndLongFunctionWithANameIWontRemember()", and possibly refactoring, pushing code around in it.
2. Run into a call, say "bar()". Alt+G to jump to understand what it is doing.
3. From bar() scroll back and forth, and plenty of other alt+g's and alt+shift+g's and alt+o, and jump around files and symbols etc. building a long and contrived navigation history, possibly editing a couple of things there and here (so Edit.GoToLastEditLocation is not useful)
4. After many minutes and interruptions, we are set with bar(). Now we want to get back to that line where bar() was called in someUglyAndLongFunctionWithANameIWontRemember(). Only that we don't know where it is. After a sufficient number of Alt+Lefts and Ctrl+TABs maybe we'll find it. Can't use VAssistX.FindReferences because it takes long and/or bar() is called all over the place. Checking git diff to locate where the heck this was is more useful at this point, but then again that is a bummer, breaks the "flow", and it doesn't apply if we haven't edited anything.

Edited by - slymz on Jun 18 2020 10:49:25 PM

feline
Whole Tomato Software

United Kingdom
16896 Posts

Posted - Jun 19 2020 :  07:07:52 AM  Show Profile  Reply with Quote
Are you aware of, and do you ever use VA View? In the top section of VA View is the "Most Recently Used" list:

https://support.wholetomato.com/default.asp?W222#mru

If you right click in the top section, you can set it to include, or exclude:

Include all opened files
Include modified files
Include modified methods

here just the two modified lists might be enough, or even just the modified methods, depending on what you have been doing. You can keep VA View visible, resize the top section to be the main view, and simply refer back to and jump through this list whenever it helps.

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

slymz
New Member

USA
9 Posts

Posted - Jun 20 2020 :  11:59:26 AM  Show Profile  Reply with Quote
Thanks feline! Yes, I am aware. I used to find it quite useful eons ago, but not as much any longer quite honestly.
VAassistX.FindSymbolDialog, VAassistX.OpenFileInSolutionDialog, Edit.GotoRecentFile, VAssists.ListMethodsInCurrentFile and VAssist.VAOutline take care of much of what it does much more effectively.

The list of modified methods is pretty useful, but is gets too cluttered too quickly. And lacks flex search. Quite frankly, I always felt this tool's touch and feel isn't on-par with rest of Visual Assist. For instance, aside from lack of flex search (except for files and symbols in solution but again who really uses them from VAView??), it is near impossible to use without the mouse, and the dialog is either too cluttered or has too much white space, the drop downs behave awkwardly. Isn't this one of the oldest features? It is just my humble perception as a loyal customer, that WTS haven't been investing on this box for quite some time.

Anyways.. Regardless of this, I am not quite sure of the relevance to an "inverse" Alt+G type capability. I know the scenario I laid out talks of edit locations, but that is just an example. The crux of the feature request here is that a chain of Alt+G's take you to places, and it'd be nice if that chain can be walked in inverse efficiently.
Go to Top of Page

slymz
New Member

USA
9 Posts

Posted - Jun 20 2020 :  12:28:19 PM  Show Profile  Reply with Quote
... actually i was a bit harsh on VAView box, but this Last Edit Locations is pretty useful. Only if it were not in VAView box, but was presented as a separate modal pane and can be searched. Just like OpenFileInSolutionDialog, FindSymbolDialog etc.

(still not quite the subject of this thread)
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
16896 Posts

Posted - Jun 22 2020 :  07:01:05 AM  Show Profile  Reply with Quote
You are right about VA View, it has changed very little in the last few years, but at the same time, its not always obvious how to improve / alter this without throwing away the things it does right.

Bringing up the most recently used list as a searchable dialog, similar to Open Files and Find Symbol is actually a very interesting idea, and could well help here. Assuming we did this, how well do you think this would cover your needs? I like this idea because it is easy to define, and easy to understand how it should work and how it should help.

We have the Navigate Back and Forward commands:

https://support.wholetomato.com/default.asp?W197

so the idea of the MRU list in a dialog could be expanded to include these locations as well. I am thinking you could turn off showing opened files and modified files, but turn on modified methods and "places you moved through".

The problem here is defining a place you moved through. You don't want to have every single left and right, up and down cursor movement, so there is a bit of "guessing" which points to include in the navigate forward and back list. But we do have this list of locations in hand.

I am not sure how else to approach displaying and working through the navigation history you want to search.

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

slymz
New Member

USA
9 Posts

Posted - Jun 25 2020 :  10:15:25 PM  Show Profile  Reply with Quote
quote:
Bringing up the most recently used list as a searchable dialog, similar to Open Files and Find Symbol is actually a very interesting idea, and could well help here. Assuming we did this, how well do you think this would cover your needs?


This would be great!

It wasn't what I was originally going for; but this would help a lot with productivity.

I also recognize the ambiguity in my original description. I'll post back when I can reformulate "inverse Alt+g"-behavior more concretely.

Thanks!
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
16896 Posts

Posted - Jun 26 2020 :  07:45:54 AM  Show Profile  Reply with Quote
The idea of improving the MRU list has come up, but we didn't have a clear sense of what we were looking to achieve at the time. I have updated the feature request with this concept, which seems a clear and well defined idea that sounds quite useful

case=18422

If you can figure out what the reverse Alt-G behaviour actually would be I am happy to discuss it with you. It sounds a bit like what I do when I scatter bookmarks through files, or sometimes VA Hashtags, to remind myself of points of interest I want and need to return to later. The general problem here is working out automatically which of the points you passed through are ones you might want to return to later.

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:
© 2019 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000