Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Feature Requests
 Goto specific member

You must be registered to post a reply.
Click here to register.

Screensize:
UserName:
Password:
Format: BoldItalicizeUnderlineStrikethrough Align leftCenterAlign right Insert horizontal ruleUpload and insert imageInsert hyperlinkInsert email addressInsert codeInsert quoted textInsert listInsert Emoji
   
Message:

Forum code is on.
Html is off.

 
Check to subscribe to this topic.
   

T O P I C    R E V I E W
Uniwares Posted - Apr 23 2020 : 12:50:23 PM
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.
8   L A T E S T    R E P L I E S    (Newest First)
feline Posted - May 08 2020 : 09:46:41 AM
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

feline Posted - Apr 24 2020 : 10:03:03 AM
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
Uniwares Posted - Apr 24 2020 : 08:52:43 AM
Now if I could bind that to the mouse instead of keyboard, its almost perfect.
feline Posted - Apr 24 2020 : 07:18:05 AM
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.
Uniwares Posted - Apr 24 2020 : 04:54:11 AM
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.
accord Posted - Apr 23 2020 : 8:25:53 PM
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.
accord Posted - Apr 23 2020 : 8:22:15 PM
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.
accord Posted - Apr 23 2020 : 8:16:14 PM
What do you mean by more specific and direct?

By direct you mean a keyboard shortcut. But what do you mean by more specific?

© 2021 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000