intellisense bug

G

Gabest

Given the following macro, intellisense only lists the first member of the
struct:

#define decl(name, members) struct name {members};
decl(test, int i; int j; int k;)

test t;
t. <-- here at this point only 'i' is offered for code completion

By checking the preprocessed source file I can see that the declaration was
correct (ie there stands struct test {int i; int j; int k;}; for this case).
 
J

Jacobo Rodriguez

Gabest said:
Given the following macro, intellisense only lists the first member of the
struct:

#define decl(name, members) struct name {members};
decl(test, int i; int j; int k;)

test t;
t. <-- here at this point only 'i' is offered for code completion

By checking the preprocessed source file I can see that the declaration was
correct (ie there stands struct test {int i; int j; int k;}; for this case).
Hello, the intellisense in VC++ works very very bad, compared to how
works in C# (no, deleting the .nbc file doesn`t solve anything). In most
cases my own classes has not intellisense information as well as some
3rd party assemblies, but in C# all works fine.
This is a MS maneuver for force the C++ programmers to adopt C#?

--
Jacobo Rodríguez Villar

Proyectos en desarrollo:

http://www.typhoonlabs.com
 
G

Gabest

I know it can't do everything, just reported this bug I found accidentally
:) But I think it improved a lot since vc6 where one little template
definition could make it stop working.
 
B

Bruno van Dooren

in VC6 the intellisense was horrible. if you use stl code, templates, or the
phase of the moon is wrong (for lack of better explanation) it just stops
working, never to be woken up again in that project.

in VC7 it was still bad.

in VC7.1 it has risen to 'annoying, but i no longer want to smash my
computer' levels.

i just don't understand WHY they don't fix intellisense properly. i mean if
they can do it for C#, then why not for C++.

kind regards,
Bruno.
 
H

Hendrik Schober

Bruno van Dooren said:
in VC6 the intellisense was horrible. [...]
in VC7.1 it has risen to 'annoying, but i no longer want to smash my
computer' levels.

It stopped working properly for many of
the files the project I'm currently working
on (several 100kLOC) a while after we went
from VC6 to VC7.1 and it never came back to
proper operation.
i just don't understand WHY they don't fix intellisense properly. i mean if
they can do it for C#, then why not for C++.

I suppose it's because the C++ syntax is so
nasty.
kind regards,
Bruno.
[...]


Schobi

--
(e-mail address removed) is never read
I'm Schobi at suespammers dot org

"Sometimes compilers are so much more reasonable than people."
Scott Meyers
 
D

David Olsen

Bruno said:
i just don't understand WHY they don't fix intellisense properly. i mean if
they can do it for C#, then why not for C++.

Probably because C++ is much, much, much more difficult to parse than C#
(or Java or VB.Net). The syntax of the language is slightly more
difficult, but it's the preprocessor (i.e. include files and macros)
that really complicates things.
 
J

Jacobo Rodriguez

David said:
Probably because C++ is much, much, much more difficult to parse than C#
(or Java or VB.Net). The syntax of the language is slightly more
difficult, but it's the preprocessor (i.e. include files and macros)
that really complicates things.
This doesnt excuses the bad working of the intellisense. There are 3rd
party tools (such as visual assist) that provides much better
intellisense information than visual studio.
Maybe MS would do an extra effort in this point...

--
Jacobo Rodríguez Villar

Proyectos en desarrollo:

http://www.typhoonlabs.com
 
R

Ronald Laeremans [MSFT]

We do and we have. The Whidbey releases has a fundamentally different
mechanism that eliminates the needs for the pre-built files for the platform
SDK and CRT/MFC/ATL going to a fully live parsing model that eliminates a
significant part of the guessing.

Expecting parity with third party products is realistic. In some cases we
will do better, in some cases we will do worse.

All in all the technical difficulty of providing Intelligence for C++
compared to Java, C# or VB is definitely beyond and order of magnitude more
difficult. Probably more like 2 orders of magnitude.

Ronald Laeremans
Visual C++ team
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top