|T O P I C R E V I E W
|Posted - Jun 18 2020 : 10:45:15 PM
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.
|7 L A T E S T R E P L I E S (Newest First)
|Posted - May 08 2021 : 08:12:09 AM
I think there is a much easier and effective way to formulate this need:
|Posted - Jun 26 2020 : 07:45:54 AM
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
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.
|Posted - Jun 25 2020 : 10:15:25 PM
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.
|Posted - Jun 22 2020 : 07:01:05 AM
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:
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.
|Posted - Jun 20 2020 : 12:28:19 PM
... 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)
|Posted - Jun 20 2020 : 11:59:26 AM
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.
|Posted - Jun 19 2020 : 07:07:52 AM
Are you aware of, and do you ever use VA View? In the top section of VA View is the "Most Recently Used" list:
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.