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
 Technical Support
 Suggestions are sometimes so far off...
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

rittjc
Ketchup Master

USA
84 Posts

Posted - Aug 21 2006 :  01:16:59 AM  Show Profile  Reply with Quote
When I am using VA to "search" for the name of a property, variable, enum, etc, I often type preceeding characters that match my naming convention hoping it will show me relevant items. VA is not deterministic if it hasn't recently seen an item. Consider:

Lets do the simple case where I know what I want, I just don't want to type the whole thing. I want to find "eType" which could be an enum. I start by typing "eT". VA shows a list of completely unrelated items that don't even start with "e" and show NOTHING that starts with "e" even though there are many. If I type in enough letters it finally figures it out what I am looking for, and finally shows me the item in the list. Sometimes I have typed the entire expression first. If I don't know the item name, just know the starting letter (as is common with consistent naming conventions, then this becomes useless since I am relying on it to show a list of all enums "e??????". Instead I am faced with things starting with a, t, f, g, etc, but nothing with e. Is this a known problem?

It seems that once I have typed it, VA remembers this, but then again so do I. Why does it do this? I understand it will show suggestions if I type a pattern that doesn't fit anything it knows, that's good, but if I am typing a valid pattern, why not show me it? In that case I certainly don't care about suggestions especially since they are guaranteed to have nothing to do with what I am searching for.

Jim

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Aug 21 2006 :  6:51:52 PM  Show Profile  Reply with Quote
the first question is what sort of listbox are you getting? i suspect you are looking at a suggestion listbox (question mark icons). in my experience these are normally quite accurate, surprisingly so if you think about it

however they are based around the idea that you will re-use recently typed or local symbols. so if you are after something that is not recently used, and not "local" they can be wildly inaccurate.

personally after the first couple of letters, if things are not looking up i press CTRL-SPACE to get a completion listbox, which operates using different rules.

depending on how you type, and your naming conventions, you may find that turning off one or both of the options:

VA Options -> Text Editor -> listboxes -> allow acronyms
VA Options -> Text Editor -> listboxes -> allow shorthand

actually helps you. having these turned on can make completion lists work "strangely", and they do require getting used to. overall i personally find they are very useful, but they are not well suited to this specific situation.

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

mspa
Senior Member

Netherlands
44 Posts

Posted - Aug 22 2006 :  03:43:19 AM  Show Profile  Reply with Quote
I have noticed the same thing as rittjc lately. With older versions I never had this problem but since (i think) VAX 1524 I have the same situation. I have always had acronyms turned on, but only now the problem occurs. I have played with the acronym setting like you suggested and indeed the problem is gone but that is not what we want

I think the problem lies in the priority of the selection in the completion listbox. I would expect that the actual typed word has priority over a possible acronym or shorthand, however how I experience it (using multiple tests) at the moment is that the actual typed word is only the suggested selection when no other options are available.
Go to Top of Page

rittjc
Ketchup Master

USA
84 Posts

Posted - Aug 22 2006 :  2:40:51 PM  Show Profile  Reply with Quote
Exactly as mspa said. Only create an alternative list if and only if we are left with an empty set of options matching our typing pattern. If you can't find anything that matches our text pattern, then try acronyms, sorthand, etc. If there are valid patterns they are almost always what we want and should be given highest priority to create the suggestion list off of.

The listbox was a description of the Visual Assist dropdown listbox that drops down to show me matching options. I realize it is not a true list box (probably) but visually it looks like one and acts like one.

I am of course typing in the code when VA is active...
Go to Top of Page

thruska
Ketchup Master

71 Posts

Posted - Aug 24 2006 :  2:20:38 PM  Show Profile  Reply with Quote
"personally after the first couple of letters, if things are not looking up i press CTRL-SPACE to get a completion listbox, which operates using different rules."

Can there be an option to do this automatically? I tried, for instance, to type the Win32 API function SetCursor and VAX completely missed picking up the function name even when I had typed the whole thing in correctly. It only displayed the appropriate tooltip when I entered the open parenthesis '(' to start editing the parameters for the current statement. The default completion listbox is only useful for local variables under VAX 1532. Remembering to press Ctrl+Space is unnatural. I never had a problem with pre-VAX. VAX 1446, IIRC, was pretty good too.

Thomas Hruska
CubicleSoft President
http://www.cubiclesoft.com/
Go to Top of Page

thruska
Ketchup Master

71 Posts

Posted - Aug 24 2006 :  3:51:11 PM  Show Profile  Reply with Quote
I just found a consistent case where even Ctrl+Space doesn't work.

In a header file:
class MyClass
{
public:
static UINT MyClassMessage;
};

In a .cpp file:
UINT MyClass::MyClassMessage = RegisterWindowMessage(

VAX completely fails to find RegisterWindowMessage while typing it in. However, the kicker is that typing in the open parenthesis '(' causes a (very strange) completion listbox to appear that contains the parameter list for RegisterWindowMessage(). The tooltip for the RegisterWindowMessage() API call never shows up until I finish the line:

UINT MyClass::MyClassMessage = RegisterWindowMessage("MyUniqueClassMessage");

Then if I delete the open parenthesis and add it back in only then does the tooltip showing the function name and parameter list show up.

Thomas Hruska
CubicleSoft President
http://www.cubiclesoft.com/
Go to Top of Page

thruska
Ketchup Master

71 Posts

Posted - Aug 24 2006 :  4:00:42 PM  Show Profile  Reply with Quote
Also, I should ask why, when two member variables have the exact same starting characters but one is longer (e.g. MxBitmap and MxBitmapBackup), both show up as selections but the longer one is always selected? (And it is usually the one I don't want selected).

Thomas Hruska
CubicleSoft President
http://www.cubiclesoft.com/
Go to Top of Page

hwatson
Junior Member

23 Posts

Posted - Aug 24 2006 :  4:15:39 PM  Show Profile  Reply with Quote
quote:
Originally posted by thruska

Also, I should ask why, when two member variables have the exact same starting characters but one is longer (e.g. MxBitmap and MxBitmapBackup), both show up as selections but the longer one is always selected? (And it is usually the one I don't want selected).



I've recently been seeing something similar. The easily reproducible case (at least for me) is trying to get "std::vector". Suggestions used to converge to "vector" once I got as far as "std::ve". Now even if I type out "std::vector" in full, I get three suggestions: "_Bvector", "_Vector_val", and "vector", in that order.

I did some investigating and found that this only happens if both allow acronyms and allow shorthand are enabled. If only one or neither is enabled, I get the old behavior.

I'm using 1532, but this may have started happening a build or two earlier.
Go to Top of Page

thruska
Ketchup Master

71 Posts

Posted - Aug 25 2006 :  10:19:33 AM  Show Profile  Reply with Quote
I disabled acronyms since the description of "shorthand" better fits me and how I code. I had to rebuild the database because VAX decided it didn't like the change but the suggestions are working a LOT better now.

Thomas Hruska
CubicleSoft President
http://www.cubiclesoft.com/
Go to Top of Page

rittjc
Ketchup Master

USA
84 Posts

Posted - Aug 25 2006 :  5:43:43 PM  Show Profile  Reply with Quote
To simplify this, a matching pattern should always be offered before a recently used suggestions. When you are filling out a switch statement, the "last" thing you want is something you have recently typed.

This seems pretty simple to resolve since it is simply a priority as to what VA checks first. There is a better than average chance that when the user enters letters, he or she knows what he is doing and is typing something he or she wants as opposed to the offhand chance they are out of ideas and typed in random characters for recently used items. Now, if a recently used item still matches the pattern, then sure then select it if you wish.

The selections of VA become almost reactions and are subconscious. You get well trained to a pattern. So if something changes, a priority or whatever, it become more distraction that usual because it calls your conscious self into the decision circle and that causes you to dump your thought train stack which has to be rebuilt when you are done. Even if you are the kind of developer that does not think far ahead or think very deep about what you are doing, you at least have your rhythm interrupted.

This is the pitfall of an assist tool like this. Look at most of the G?complaintsG? and they look so petty and trite but the fact is using VA and assist tools becomes a part of your skill set. If something suddenly changes in the release, even though it is an academic type change, it leaves you sitting there looking like a dog with a new pan.

Seems like the only solutions to this are; A) donG??t make any fundamental changes, or B) classify every eurhythmic changing entry sequence driven by a user selectable option. That way if they want it the "old way" they can have it, if they want it the new way, they can have that too.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18939 Posts

Posted - Aug 27 2006 :  1:25:57 PM  Show Profile  Reply with Quote
clearly we have a problem here. personally I am not running into these problems, working with C++ and VS2005, but the current job I am working on mainly involves working out what I am doing, and very little writing of code, so it is possible I have simply not noticed.

there is a feature request, which i have just bumped in priority, that basically says that when the text you have typed matches the start of a symbol, give that symbol priority.

case=2114

still, i would like to try and get to the bottom of what is going on here. starting with hwatson's post about std::vector, since this is a nice and clear example. using VS2003 and VA 1446 i am seeing the following:



using the same solution, VS2003 and VA 1533 i am seeing the following:



so i am seeing all of the items that hwatson lists, but the focus is on vector, so the fact i have extra items does not matter. plus the behaviour, in this single test, is identical in both versions of VA.

hwatson how similar is this to what you are seeing? can anyone else comment on this specific example? please note that here i have a completion listbox, since this test project does not use std::vector, so VA is not feeling inclined to produce a suggestion listbox.

if people find that the suggestion listboxes (the ones with question mark icons) are not helping, and are getting in the way then you can turn them off:

VA Options -> Text Editor -> suggestions -> display suggestion list and accept with:

personally i find them invaluable, and cannot imagine programming without them. BUT different people work differently. personally i tend to re-use the same local variable several times in a row, so having it suggested makes a lot of sense.

now turning to thruska's example, with
In a .cpp file:
UINT MyClass::MyClassMessage = RegisterWindowMessage(


when i do this test in VS2003, C++, VA 1533 i am getting:



now i had to type this much before RegisterWindowMessage was suggested. but i should point out the test project was written using the Qt 3.3.3 framework, which means there is NO MFC or win32 code in here, and certainly no calls to RegisterWindowMessage in my code, so personally i would call this suggestion quite impressive.

i would be the first to admit there are bugs in VA, most of what i do on this forum involves confirming and pinning down bug reports. however in these specific cases i am not seeing anything that looks wrong.

am i doing something differently? using a funny IDE? using a funny build of VA? if someone can help me reproduce the problems they are seeing it would be greatly appreciated, and should help us to fix them.

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

sean
Whole Tomato Software

USA
2817 Posts

Posted - Aug 27 2006 :  3:15:34 PM  Show Profile  Reply with Quote
feline: The hwatson vector problem was specifically fixed in 1533 - it did not work correctly in 1532.

edit: agree - something is still not right...

Edited by - sean on Aug 27 2006 3:23:55 PM
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Aug 28 2006 :  02:13:34 AM  Show Profile  Reply with Quote
this will be back to normal in the next build (1534)
Go to Top of Page

hwatson
Junior Member

23 Posts

Posted - Aug 28 2006 :  2:14:46 PM  Show Profile  Reply with Quote
quote:
Originally posted by sean

feline: The hwatson vector problem was specifically fixed in 1533 - it did not work correctly in 1532.

edit: agree - something is still not right...



I'll take your word that something is still not right, but the std::vector example is working for me with 1533. Thanks!

Edited by - hwatson on Aug 28 2006 2:15:04 PM
Go to Top of Page

thruska
Ketchup Master

71 Posts

Posted - Aug 28 2006 :  5:26:51 PM  Show Profile  Reply with Quote
Okay - I've re-enabled "Acronyms", rebuilt the cache, restarted VS.NET 2003, and started work again on my current project. I'll give this a whirl over the next week to see if it does better. Using just the "Shorthand" method still seemed to be a lot better but was still "weak". VAX didn't pick up some things right away that I'm pretty sure it used to but, again, I can't verify this because I think the database was somewhat hosed. It'll be a couple days before I'm doing library layer coding again. That's where the majority of my problems showed up and where I depend heavily on VAX operating properly.

Thomas Hruska
CubicleSoft President
http://www.cubiclesoft.com/
Go to Top of Page

SvenC
Tomato Guru

Germany
339 Posts

Posted - Aug 29 2006 :  1:52:03 PM  Show Profile  Reply with Quote
So it seems that suggestion lists are OK. I have acronyms and shorthands enabled.
It is also working for me if I do not "force" a list by pressing Ctrl+Space.
But I do get the old style selection when pressing Ctrl+Space.

Just enter Reg and press Ctrl+Space. In my completion list R2_MERGENOTPEN is selected and not any symbols starting with Reg.

I am in a native C++ console app of VS2005, so without VAX enabled VS isn't offering me anything with Reg but as VAX fills the box it might also use the same selection scheme like described in the above posts about std::vector.

Regards,
SvenC
Go to Top of Page

sean
Whole Tomato Software

USA
2817 Posts

Posted - Aug 29 2006 :  2:04:13 PM  Show Profile  Reply with Quote
SvenC: that's the part that is still not right but fixed for 1534.
Go to Top of Page

SvenC
Tomato Guru

Germany
339 Posts

Posted - Aug 29 2006 :  3:10:33 PM  Show Profile  Reply with Quote
Sitting here pressing Ctrl+R on my browser
Luckily one can subscribe to new posts in announcements...
Go to Top of Page

jpizzi
Tomato Guru

USA
642 Posts

Posted - Aug 30 2006 :  12:01:55 AM  Show Profile  Reply with Quote
Try Ctrl-F5 instead (IE only). It forces a re-fetch of the page, bypassing any caching or local temp copies.

(But, I just opened the browser, at 11:45PM Aug 29 2006, and it still isn't updated )

Joe Pizzi
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