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
 Constructor parameter info not displaying
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

tjcbs
Tomato Guru

104 Posts

Posted - Jun 24 2015 :  11:55:07 PM  Show Profile  Reply with Quote
Function signature tooltips don't show up for constructors:

struct m
{
   m(int a) {}
};

int main()
{
   m m1()


In this case, VA will display "m m1()" in the tooltip, the first time. If I delete the paren and try again, it will display nothing.

VS2013, VA 10.9.2068.0

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jul 02 2015 :  7:55:20 PM  Show Profile  Reply with Quote
I am seeing the same effect here. Thank you for the clear example:

case=32921

Two possible workarounds:
1. put ';' after the expression, basically typing the '(' before the ';'
2. enable intellisense
Go to Top of Page

tjcbs
Tomato Guru

104 Posts

Posted - Jul 15 2015 :  04:01:28 AM  Show Profile  Reply with Quote
1. works. But it is unstable. If I delete the '(' and type it again, half the time the tool tip won't come back, even after repeating the ';' <left> '(' sequence.

I admit it is dismaying seeing such a basic functionality problem with such a low case number!
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jul 15 2015 :  8:24:24 PM  Show Profile  Reply with Quote
Sorry for the trouble. I have increased the priority of this case for you, hopefully it will help.

BTW, have you disabled default Visual Studio intellisense? It should work properly in recent Visual Studios when intellisense is not disabled, so should only affect older IDE versions.

Edited by - accord on Jul 15 2015 8:29:15 PM
Go to Top of Page

tjcbs
Tomato Guru

104 Posts

Posted - Jul 16 2015 :  04:16:40 AM  Show Profile  Reply with Quote
I turn off Intellisense, because I use older hardware, I don't like the way it dumps hundreds of MBs of garbage in my (dropbox'd) source directory, and I think of VA as an "intellisense replacement" rather than "intellisense complement". I read that I can move the location of the garbage, so I may experiment with turning it back on.

And it isn't any trouble. I'm just not particularly happy with the state of VA. Bugs persist over years. Novelty features (renewal bait?) are given priority over getting the basic functionality correct , and now we have a bloated, buggy application.

Edited by - tjcbs on Jul 16 2015 05:17:56 AM
Go to Top of Page

accord
Whole Tomato Software

United Kingdom
3287 Posts

Posted - Jul 16 2015 :  2:55:07 PM  Show Profile  Reply with Quote
Sorry that you think that. We're trying to fix bugs, but it's hard to balance bugfix and adding new features. We're constantly improving existing features (i.e. old refactoring commands), and the quality of the software is important to us. We try to improve user experience with the latest Visual Studios - this feature is something that works out of the box with default settings.
Go to Top of Page

tjcbs
Tomato Guru

104 Posts

Posted - May 03 2016 :  02:08:53 AM  Show Profile  Reply with Quote
Any Update on this? It's been almost a year. This one is particularly vexing.
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - May 04 2016 :  3:17:45 PM  Show Profile  Reply with Quote
Unfortunately no progress yet. This has become a high priority bug over time, but I don't currently have an estimate for when it will be fixed.

If CPU usage is part of the reason you have turned off the IDE's intellisense, you might find limiting the CPU cores that VA uses helps you to turn the IDE intellisense back on, without to many problems:

https://wholetomato.fogbugz.com/default.asp?W134

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

tjcbs
Tomato Guru

104 Posts

Posted - May 05 2016 :  09:20:39 AM  Show Profile  Reply with Quote
CPU is part of it, though that seems to have vastly improved since the old days. It's more because I'm a long time VA user, and the concept doesn't sit easily with me. I should have two seperate source code parsers running at the same time? How do they interact with each other? It just seems weird. Since when was this the expected configuration? Has WT conceded that VA can't compete with intellisense any more, and VA is best used as some kind of tag along to it?

That being said, I have given up and enabled intellisense. And yes, despite annoying stuff highlighting and popping up all over the place now, it *does* solve this issue. And I can even navigate overloads with the keyboard.

EDIT:
I take that back, this is definitely not solved, even with intellisense. Heap allocation works great, stack/global allocation is still dismal:






I guess this is a "most vexing parse" issue?

Edited by - tjcbs on May 05 2016 09:34:33 AM
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - May 05 2016 :  5:21:32 PM  Show Profile  Reply with Quote
As I understand it, the IDE intellisense parser in newer IDE's effectively compiles your code, in order to work out what intellisense to offer. This is going to be more useful in some situations, and its something VA does not try and do.

As a result, in VS2010 and above, VA defaults to using the IDE intellisense parser for listbox content, and defaults to our own parser in VS2008 and earlier. You always have the option to change this if you find one parser offers better results over the other in your code base.

We are trying to extend rather than replace the IDE, so using the IDE some of the time makes sense. The editor is from the IDE, but some of the colouring is from VA. The idea is that we merge into the IDE, so you are not really aware of where the IDE leaves off and we pick up, so you get a smooth overall experience.

I am glad you are able to enable the IDE intellisense without to much of a problem, and that this is helping with some of these problems.

Is your struct example common in your code? I know you are creating a variable of this type, but it looks a lot like a function declaration, which makes this tricky syntax to reliably parse.

Using a struct as a class is valid, but rarely seen, so I am wondering if you often do this.

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

tjcbs
Tomato Guru

104 Posts

Posted - May 08 2016 :  11:19:27 PM  Show Profile  Reply with Quote
The struct was just for brevity of example. However the same issue arises with classes.

That being said, this is a c++ problem, so I'll let VA off the hook for this one :P
Go to Top of Page

feline
Whole Tomato Software

United Kingdom
18748 Posts

Posted - May 09 2016 :  2:52:56 PM  Show Profile  Reply with Quote
You can do some very clever things with C++, some of them are so very clever that they are quite hard to follow.

Here, if you are mainly seeing this when writing new code, have you considered using a VA Snippet like this:

$variableType$ $variableName$ = $variableType$();

I gave it the shortcut "newi" for new instance. When you trigger the shortcut, you are inside the editor, so you get normal suggestions and listboxes to help you fill in the type. When you have the right type name, press Tab to jump to the variable name field, and then just provide the desired name. The type is automatically filled in in both places for you, without any extra typing.

A change of habit, but it makes the tooltips a lot more reliable, and might be worth it.

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:
© 2023 Whole Tomato Software, LLC Go To Top Of Page
Snitz Forums 2000