.NET Forum / Visual Studio.NET / General / July 2004
Terrible Intellisense Performance
|
|
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 MagazinesGet 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 ...
|
|
|