Whole Tomato Software Forums
Whole Tomato Software Forums
Main Site | Profile | Register | Active Topics | Members | Search | FAQ
 All Forums
 Visual Assist
 Technical Support
 1609: completion listbox and (

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
accord Posted - Sep 29 2007 : 2:29:30 PM
(file.h)
class cSomeClass {
    float GetSectionGain();
};

when I want to Add a new member function to this class

(file.cpp)
float cSomeClass::GetGain|

VAX will offer me GetSectionGain (which is normal), but when I press '(', VAX will accepts this suggestion, and replaces my function name. When I add new function to a class, these type of completion listboxes will be allways invalid, so '(' should not commit the selection of the listbox.
"Selection committed with / any character not valid in a symbol" checkbox is NOT checked, so only enter or tab should accept any type of completion or suggestion listbox.
12   L A T E S T    R E P L I E S    (Newest First)
support Posted - Aug 04 2010 : 5:41:55 PM
"Selections committed with" behavior for member lists is now configurable under VA Options | Advanced | Listboxes. (case=9369), implemented in build 1829.
sean Posted - Jun 12 2009 : 10:10:55 PM
Build 1727 has support for disabling the default "complete on any character not valid" behavior of C/C++ members lists. It does not have a UI element in the VA Options dialog though.

To disable the default behavior, exit all instances of Visual Studio and add a new registry value:
HKEY_CURRENT_USER\\Software\\Whole Tomato\\Visual Assist X
string value named: MembersExpandOnAny
value: No

Changing the default behavior should only affect the C/C++ experience and is dependent upon the VA listbox "committed with any character not valid in a symbol" option being unchecked (otherwise the MembersExpandOnAny value is ignored).

(But you already knew this accord, didn't you?)
accord Posted - Dec 15 2007 : 12:23:28 PM
Great!
I didn't know about case=9369, but this is good news
feline Posted - Dec 15 2007 : 11:20:50 AM
I agree about the listbox being accepted with '(', which should be covered by:

case=9369

which says the VA options should apply to all listboxes.
accord Posted - Dec 15 2007 : 09:39:35 AM
quote:
What happens when you are creating the function implementation by hand? Before VA offered refactoring this was something I used to do a lot, and I liked having a listbox at this point.

Sometimes I am doing this. But mostly I am write the implementation, and when I done, I use create declaration. Sometimes this is much better than crosswise.

quote:
but how the listbox should be accepted is a slightly different question

I think accepting listbox by '(' is NOT reasonable in this case (at least when any character not valid in a symbol is NOT checked). If you will agree, I will be happy.

quote:
What if you are adding a new overload to an existing function?

It is very rare situation compare to adding non-overload functions.
But still you can use CTRL+C, CTRL+V , or you can accept the suggestion by Enter or TAB or even by '(' if you checked the "any character not valid in a symbol")
feline Posted - Dec 15 2007 : 07:56:48 AM
What happens when you are creating the function implementation by hand? Before VA offered refactoring this was something I used to do a lot, and I liked having a listbox at this point.

What if you are adding a new overload to an existing function? Having VA suggest the function name and parameter list can be a good thing, since you can then edit them, rather than typing them from scratch.

Personally I feel there are good reasons for VA offering you a listbox here, but how the listbox should be accepted is a slightly different question
accord Posted - Dec 14 2007 : 5:40:04 PM
quote:
from feline
http://forum.wholetomato.com/forum/topic.asp?whichpage=1&TOPIC_ID=7055#28276
The logic here seems to be that the listbox must be correct, so you obviously want to accept the current item.



When I read the quoted thread, I have thought about this problem, and I found that the solution is obvious in my case:
If I am writing outside a function body the completion listbox should NOT occur after "::"! Let's see my previous example:
quote:

(file.h)

class cSomeClass {
float GetSectionGain();
};


when I want to Add a new member function to this class

(file.cpp)

float cSomeClass::GetGain|


VAX will offer me GetSectionGain (which is normal), but when I press '(', VAX will accepts this suggestion, and replaces my function name.


Feline: the quoted truth is not really valid in this case.

What do you think?

(..and of course: from this point of view, my sentence "VAX will offer me GetSectionGain (which is normal)" was NOT proper )
feline Posted - Oct 02 2007 : 1:29:33 PM
I have just checked VA 1557 and 1559, using the test:

    std::string strName;
    strName.len|


Typing '(' accepts "length" which is the current item in the list.

Does this seem to be a fair test? If you are seeing a change in behaviour then we need to try to get to the bottom of that.
accord Posted - Oct 02 2007 : 05:39:33 AM
Strange. I was the same in 1559?
feline Posted - Oct 01 2007 : 6:36:57 PM
Which version of VA were you using before? I have just tested this in VA 1301 (quite a way back) and it behaves the same.

With the new refactoring features there is a case to be made for an option to control this.
accord Posted - Oct 01 2007 : 5:54:30 PM
This option is generally for listboxes, and not only for suggestion listboxes. Suggestion listboxes has it's own "tab" in options dialog. I you are typing fast, and don't mind about the listbox, VAX (and yes, the IDE also) will simply overwrite my text.

This is a new design decision to behave same as VS. But I have used Visual Assist for a while and back to IDE's behavior is a bit confusing.

What about to make an option in ListBoxes tab:
"Visual Studio compatible mode"
or
"Visual Assist mode"

Under Visual Assist mode you can make some little changes to the listbox behavior and maybe some option to configure the behavior as well.
(For example the 15xx behavior was more polished then the IDE's default behavior (in my opinion))

What do you think?
feline Posted - Oct 01 2007 : 4:45:39 PM
Disable VA and you will see the same behaviour. Once you have triggered a member listbox (double colon, dot, arrow) then the IDE believes that brackets should accept the current item. VA is doing the same thing so that we are consistent with the IDE.

In this case the suggestion listbox options do not apply, since you are not seeing a suggestion listbox.

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