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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Mar 15 2022 :  08:20:13 AM  Show Profile  Reply with Quote
Came across something that I thought existed, but couldn't find.



You know those hierarchy lines and the associated tooltips from VS. Now if there would be a way to go directly to the location that connects the line, this would be fantastic for really large code areas. Something like Ctrl+Click on the line, kind like the goto definition, but on the indented lines. Like in the image above, it should take me directly to the "if(Sim..." that is like 2500 lines (dont ask) above the current location.

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Mar 18 2022 :  09:34:47 AM  Show Profile  Reply with Quote
It's not quite the same, but this is actually what VA's Next and Previous scope is designed to help with. Great for moving in big steps through a method, and for moving up and down a file one method at a time:

https://docs.wholetomato.com/default.asp?W198

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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Mar 18 2022 :  09:56:56 AM  Show Profile  Reply with Quote
Yes, definitely not the same, and not helpful in cases where there is a lot of code in-between. At least I lose the context where to stop moving through the scopes, kinda like "did i pass it? Am I there yet?".
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Mar 18 2022 :  1:10:23 PM  Show Profile  Reply with Quote
We have a feature request for a function level view of VA Outline, which might help here:

case=57709

it's not an idea that comes up very often though. How large, just roughly, are some of these functions? Is 3,000 lines a good upper limit, or are we thinking even bigger? The feature was talking about 200+ line functions, so actually it might not scale well.

Have you tried CTRL-M, CTRL-M to toggle IDE outlining? Triggering this inside a small function, it is helping me to navigate the function in chunks.

Since the vertical indent lines aren't coming from VA, we don't actually know about them (I believe), so that's the first challenge here.

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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Mar 18 2022 :  1:25:44 PM  Show Profile  Reply with Quote
Not using the VA Outline actually, and not sure if that would solve the issue though.
My current project I am working on is real legacy, where someone didnt understand the difference between #region and methods, so there are methods with 3000+ lines in 20k+ lines files. Toggling outlining is more of a pain than helpful, because it doesnt restore previous state, so any collapsed regions will be messed with too.
Actually I think VA knows somewhere about the indentation level as it does color the tooltips on them, so there must be some place the info comes from when hovering over them. Anyway, its just an idea that I thought might be quick and easy to implement.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Mar 21 2022 :  08:15:30 AM  Show Profile  Reply with Quote
We do have the setting:

VA Options -> Display -> Show Quick Info tooltips for more symbols
* Show tooltips for braces and structural keywords

which will show you the scope information when hovering the mouse over a close bracket. Would letting VA offer a goto top of scope from here work well enough? It gives us a well defined anchor point for triggering the command, and the information is already in hand, since it is shown in the tooltip.

The obvious limitation of this is first having to move to a close bracket where scope information is displayed.

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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Mar 21 2022 :  09:46:15 AM  Show Profile  Reply with Quote
For my intended purpose this would not be the right approach. When I do an Alt+Click (configured as goto symbol, ctrl+click is too practic for selecting a whole word ) on one of the scope lines, VS gives me the error message it cant go to the selected symbol, so there is some handling going on at this point.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Mar 22 2022 :  06:29:29 AM  Show Profile  Reply with Quote
I can produce an error message if Alt + Left mouse click is set to Goto Related, instead of Goto. This shows the pattern I am seeing:

namespace WHITESPACE_GOTO_RELATED
{
	class PlacesToGo
	{
		void memberOne();
	};
	
	// use Goto Related on the blank line above - error
	void PlacesToGo::memberOne()
	{
		short nCounter;
		
		// use Goto Related on the blank line above - offers class members
		nCounter++;
	}
}

are you seeing the same pattern, or a different pattern?

Unless you have a lot of nested namespaces, you should only have an interesting number of indent indicator lines when you are actually inside a function, so I would expect Goto Related to do something. Unless you are inside free / non class member functions.

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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Mar 22 2022 :  06:46:59 AM  Show Profile  Reply with Quote
Thats exactly what I see with your example too. What I just realizes, when using "Goto" instead of "Goto related" I get a message from VS and not VA, seems that VA internally forwards the request to VS? Or it tries to resolve it and then forwards it? However, some location awareness seems to be going on here.

Here is an real live example of production code (no that it makes any sense though):


Just to visualize the pain I am trying to overcome with VA.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
19054 Posts

Posted - Mar 22 2022 :  08:22:07 AM  Show Profile  Reply with Quote
This is just painful, and makes a lot of sense when dealing with larger blocks of code, which are always a fact of life, so I have put in a feature request to see what our developers make of it:

case=147968

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

Uniwares
Tomato Guru

Portugal
2322 Posts

Posted - Apr 19 2022 :  09:43:42 AM  Show Profile  Reply with Quote
I just found a solution to my specific problem and it looks pretty much like what I imagined and even has a few more useful features, like context information, context emphasis, selection, collapsing, etc:



And its a free VS extension. PM me for name so I dont make advertising here.
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