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
 Goto specific member
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

Uniwares
Tomato Guru

Portugal
1883 Posts

Posted - Apr 23 2020 :  12:50:23 PM  Show Profile  Reply with Quote
Not sure if there is another way to get there just as quick, but I wish I could do the following:

Click on a type name (maybe with Shift+Ctrl+Click) which opens a list with all members of the type under the mouse (ordered/grouped) by type and a click on any will go to its definition.

Kind of like "VA Goto member" works but more specific and direct.

accord
Whole Tomato Software

United Kingdom
3267 Posts

Posted - Apr 23 2020 :  8:16:14 PM  Show Profile  Reply with Quote
What do you mean by more specific and direct?

By direct you mean a keyboard shortcut. But what do you mean by more specific?
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3267 Posts

Posted - Apr 23 2020 :  8:22:15 PM  Show Profile  Reply with Quote
Also, a more direct access of member is via VA Outline. Just hower over the type to see it's members and it's easy to jump to them as well.

I usually use Goto Member when I want to find something, in a class and its parents, but not sure of the name. When I know what I want, I just press alt+g, alt+m and filter the list to go to the member.

Also a good way can be to use Find Symbol dialog. Especially via typing something like classname.member but you don't need to type the full member name.
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3267 Posts

Posted - Apr 23 2020 :  8:25:53 PM  Show Profile  Reply with Quote
Also, to make it quicker, you can select the typename via ctrl+w (or whatever you have for select word), so when you open Find Symbol dialog, the dialog will already pick up the name (providing you have "Initialize Search with Editor Selection" enabled).
I also use this. If you type dot after the typename, you easily get access to all the members.
Go to Top of Page

Uniwares
Tomato Guru

Portugal
1883 Posts

Posted - Apr 24 2020 :  04:54:11 AM  Show Profile  Reply with Quote
Alt+G, Alt+M is closest to what I meant. Not using the VA outline much and in this case would not help anyway since it shows the members of the current class not the one where I wanna go to. The Find Symbol on the other hand has the symbol selected when it opens, so typing . will overwrite it and I have to deselect first, then type . Besides, I dont want to "search" for a name, I want to see the members (most likely because I dont remember all the members in the first place)
When I know the name or parts of it, lately I like a lot the Ctrl+G of VS2019, as it allows you to jump just to anything, symbol, filename, line numbers, external files, etc.

No, what I mean is more like the completion list that pops up when you type . after a symbol, but initiated by clicking on a typename. Selecting an item does not insert it but jump to its definition.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
16631 Posts

Posted - Apr 24 2020 :  07:18:05 AM  Show Profile  Reply with Quote
For direct keyboard access, you can go into the IDE keyboard settings, and map a keyboard shortcut to the command:

VAssistX.GotoMember

which will then open the Alt-Shift-G menu's goto member dialog directly, for the symbol the caret is currently sitting in. When the dialog appears keyboard focus is in the filter field, so you can simply start typing directly, filtering the list. This sounds like it is going to do what you are looking for here.

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

Uniwares
Tomato Guru

Portugal
1883 Posts

Posted - Apr 24 2020 :  08:52:43 AM  Show Profile  Reply with Quote
Now if I could bind that to the mouse instead of keyboard, its almost perfect.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
16631 Posts

Posted - Apr 24 2020 :  10:03:03 AM  Show Profile  Reply with Quote
Do you have a "spare" mouse button you want to map this to?

I have been using AutoHotKey https://www.autohotkey.com/

to manage my global keyboard shortcuts, and it does have the ability to respond to keyboard / mouse actions on an application by application basis, so in theory, if you wanted to map a middle click in the IDE to the keyboard shortcut for Goto Member this should be fairly simple. This looks like a good start point if you are interested in this:

https://www.autohotkey.com/docs/scripts/TooltipMouseMenu.htm

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

feline
Whole Tomato Software

United Kingdom
16631 Posts

Posted - May 08 2020 :  09:46:41 AM  Show Profile  Reply with Quote
This was going round in the back of my mind, so I have had a look at this, and produced the following autohotkey script:

; This is how long the middle mouse button must be held to send keyboard shortcut to IDE
UMDelay = 20

~MButton::
	; count how long middle mouse button has been held down for
	HowLong = 0
	Loop
	{
	    HowLong ++
	    Sleep, 10
	    GetKeyState, MButton, MButton, P
	    IfEqual, MButton, U, Break
	}
	; quit if not held down long enough
	IfLess, HowLong, %UMDelay%, Return
	
	; long enough, so check the active window belongs to the process "devenv.exe"
	IfWinActive, ahk_exe devenv.exe
	{
		; ^ = Control
		; + = Shift
		; ! = Alt
		; so sending Ctrl+Shift+Alt+g
		; will only have an effect if this is mapped inside the IDE its self
		Send ^+!g
	}
Return


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