Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / Visual Studio.NET / General / July 2004

Tip: Looking for answers? Try searching our database.

Terrible Intellisense Performance

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
Jeff Stewart - 05 Jul 2004 23:34 GMT
I can't believe I'm the only one having this problem, but I can't but one or
two similar complaints on the web.

Visual Studio .NET 2003 seems almost completely incapable of returning
correct results when I perform a "Go To Reference" or "Find Symbol" command.
Most recently I've been working with the Tetris3D tutorial at
http://www.codeproject.com/managedcpp/Tetris3D.asp, and I can't remember the
last time Find Symbol worked correctly.  In most cases, the Find Symbol
Results tab shows "No references available for this item" beneath every
result.  Lately, though, I got a couple of results that point to lines
beyond the end of the file it says the result was found in.  The IDE opens a
blank source file that has about 43 line numbers and a giant outlining
bracket, but no source.  If I close and reopen the outlining bracket, the
source appears, but the symbol I was trying to find is nowhere to be found.

I've had the same performance on the Quake II .NET source and all my old
VC++ 6 projects.

I've confirmed that I am including browse information in my debug builds.

I've tried deleting the .ncb file more than once, and it never affects
performance.

Is this peculiar to my machine?

--
Jeff S.
harry_bosch - 06 Jul 2004 17:15 GMT
> I can't believe I'm the only one having this problem, but I can't but
> one or two similar complaints on the web.

I know this isn't the answer you're looking for, but I think these
functions are just broken. They were useful with VC6, but I no longer use
them with VS.NET, due to problems similar to what you're describing.

BTW, I think it's not Intellisense here but the browse database
functionality (but no worries, Intellisense is broken too :-)

Signature

harry

Jeff Stewart - 07 Jul 2004 00:34 GMT
Oh, I just assumed it was Intellisense: the .ncb file shows as its file type
"Visual C++ Intellisense Database."

Sadly, I'm beginning to think these functions were never very well
implemented.  I remember similar problems back in VC++ 6, but never this
bad.

It's a shame, too, 'cause it's a hell of a useful thing to have.  Sifting
through someone else's source code is a stone-cold chore when you're used to
being able to jump to symbol references and can't.

--
Jeff S.

> > I can't believe I'm the only one having this problem, but I can't but
> > one or two similar complaints on the web.
[quoted text clipped - 5 lines]
> BTW, I think it's not Intellisense here but the browse database
> functionality (but no worries, Intellisense is broken too :-)
harry_bosch - 07 Jul 2004 19:02 GMT
> Oh, I just assumed it was Intellisense: the .ncb file shows as its
> file type "Visual C++ Intellisense Database."

Well, I'm not privy to their inner details, I could be wrong myself :-) But
I think that the .NCB file is for Intellisense -- auto list members,
parameters, etc., and probably Class View -- whereas the .BSC file in your
intermediate directory is for the source browser, and is built only if you
enable Browser infomation for that configuration. The .BSC file is what we
found so useful in VC6, with the call graphs and all that, but it seems to
be of very limited use in VS.NET.

> It's a shame, too, 'cause it's a hell of a useful thing to have.
> Sifting through someone else's source code is a stone-cold chore when
> you're used to being able to jump to symbol references and can't.

Exactly so. It used to work quite well, and was a feature I used very
frequently, in VC6. With VS.NET, I mostly use "Go To Definition", and with
C++, even that is now annoying, because it pops up a "Resolve Ambiguity"
dialog that lists files having nothing to do with your project, and even
worse, the dialog is too small and its size is hardcoded -- I have to
horizontally scroll it every single time I use it. This is just stupid UI
design, IMO, but who knows, maybe no one else uses it or finds it
annoying...

Signature

harry

Andrea Barbi - 09 Jul 2004 13:52 GMT
> ...
>> It's a shame, too, 'cause it's a hell of a useful thing to have.
[quoted text clipped - 9 lines]
>design, IMO, but who knows, maybe no one else uses it or finds it
>annoying...

Hi,
I agree with your considerations. An IDE, especially when it supports
a OO language, couldn't avoid to make available to the programmer an
integrated "Symbol Reference Browser". In Java world, for example,
Eclipse/WSAD, VAJ... have all a similar useful function. And -yes- the
VisualC++ 6.0 "Definitions and References" window lets an easy and
effective navigation through the project classes.

Maybe you're well aware of it, but -since it wasn't yet named in this
thread- let me say that JetBrains ReSharper (a refactoring-oriented
VS.NET plugin, http://www.jetbrains.com/resharper/index.html) has a
cool "Find Usage" feature that does exactly this. It also seems to me
much less "buggy" than the (too much limited) VS counterparts, even
given that it's still only available in the "early access program"
context. My development team is evaluating this tool, and it looks
well designed, imho.

Hope that this helps

--
Andrea B.
harry_bosch - 09 Jul 2004 17:48 GMT
> Maybe you're well aware of it, but -since it wasn't yet named in this
> thread- let me say that JetBrains ReSharper (a refactoring-oriented
[quoted text clipped - 4 lines]
> context. My development team is evaluating this tool, and it looks
> well designed, imho.

Hadn't heard of ReSharper yet, but there have already been a few C#
refactoring tools available so far. I think this is a good direction for
things.

My little complaint was for C++ development, where the ambiguity dialog is
really annoying.  And with the complexity of C++, Class View and
Intellisense have more bugs (not to mention the compiler itself, which has
finally been addressed). More and more, I am getting tired of C++ work and
its problems. C# is enjoyable in comparison!

Signature

harry

Steve Wolfe - 18 Jul 2004 01:56 GMT
I too have been unimpressed with the browsing abilities of .NET 2003. I have been using the browse info since C++ 1.51 days and have come to rely on it.

I have just downloaded VisualAssist X from www.wholetomato.com - it is available on 30-day free trial. It works in a different way, but it looks pretty promising as it has a lot more features.

Steve

> > Maybe you're well aware of it, but -since it wasn't yet named in this
> > thread- let me say that JetBrains ReSharper (a refactoring-oriented
[quoted text clipped - 14 lines]
> finally been addressed). More and more, I am getting tired of C++ work and
> its problems. C# is enjoyable in comparison!
Sergey M - 18 Jul 2004 02:18 GMT
> I have just downloaded VisualAssist X from www.wholetomato.com - it is available on 30-day free trial. It works in a different way, but it
looks pretty promising as it has a lot more features.

Some of the VisualAssist X features are available in the free product
called DPack. You might want to check it out at
http://www.usysware.com/dpack/ .

Hope this helps.
Signature

Sergey

JMW - 19 Jul 2004 14:45 GMT
I do not know what causes these files to get corrupt but when they do it is a pretty easy fix, at least it always was for me. I would simply delete the NCB file. The IDE will rebuild it when it is opened again thus recreating all its mappings. I do not remember if I deleted the BSC file or not.

You can rename them both if you dont trust me ;).

I have faced a similiar issue with C# and simply deleted the PDB file and it seems to clear up.

Don't know if this will help but that is what I did.

jason.

> > Oh, I just assumed it was Intellisense: the .ncb file shows as its
> > file type "Visual C++ Intellisense Database."
[quoted text clipped - 19 lines]
> design, IMO, but who knows, maybe no one else uses it or finds it
> annoying...
harry_bosch - 23 Jul 2004 16:27 GMT
> I do not know what causes these files to get corrupt but when they do
> it is a pretty easy fix, at least it always was for me. I would simply
> delete the NCB file. The IDE will rebuild it when it is opened again
> thus recreating all its mappings. I do not remember if I deleted the
> BSC file or not.

Yes, that sometimes helps, but sometimes a restart of VS.NET is
still required. In fact, I got so tired of manually deleting the .NCB file
that I wrote a macro to close my project, delete the thing, and then reopen
the project (some of us discussed this here a while ago). Then I put an
icon on my toolbar to invoke the macro.

But as I mentioned, sometimes that doesn't help, and I still have to
restart. And maybe one out of three times, VS.NET crashes on exiting after
Intellisense has gotten fouled up. On one of my C++ projects, it takes only
5 to 10 minutes before Intellisense stops working, and it happens over and
over, every day.

The _real_ solution is that MS fix Intellisense so that it works. But I
have given up any hope that they will that this issue seriously. Overall, I
am quite unhappy with their lack of commitment to resolving issues in their
software.

Signature

harry


Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.