none
VS .Net 2005, how to disable intellisense...

    Question

  • Hi

    I am really frustrated with the performance of VS .Net 2005. This is because I always see at the bottom "updating intellisense..." and it uses 60% to 70% of CPU.

    How to disable this updating of intellisense... Please this is making Visual studio unusable.

    Thanks
    Chandra

    Saturday, November 12, 2005 12:33 AM

Answers

  • Given my advantage of having this behavior in a realtively small solution, I was able to isolate what was causing the Intellisense to cause problems in my solution. Since I can't post my code here, I will give an example of what it was and hopefully this may assist others.

    I have a C++ interop assembly to provide the functionality if a age-old linear algebra library. From this library, I have a .h file where a struct is declared (and typedef-ed):

    typedef struct Vector_
    {
       int length;
       double *val;
    } *Vector;

    Since I cannot include these files into another namespace and I want to avoid name clashes with another Vector class I have in the solution, I have created a namespace and done a typedef of those types like follows:

     

    namespace ExternalLib
    {
       typedef ::Vector Vector;
    }

    This now allows me to refer to this type as ExternalLib::Vector. Now, what happens is that if I define a C-linkage method (be it in a class or global) that uses this type, the Intellisense will hang. Simple as that...

    For example, double Norm(ExternalLib::Vector);

    Friday, March 17, 2006 2:50 PM
  • We have released two hotfixes to alleviate the problems mentioned in this thread.

    The first fixes a bug in our parser, which causes it to run in an infinite loop. You can find more information here: http://support.microsoft.com/?scid=kb;en-us;916769

    The second reduces the thread priority of our Intellisense thread so that it plays nice with every other application (including the IDE itself) despite its long parse times. You can find more information here: http://support.microsoft.com/?scid=kb;en-us;913377

    We welcome feedback on both of these issues and we are continuing to work on improving the performance of Intellisense in our next release.

    Thanks,

    Thursday, May 25, 2006 9:23 PM
    Moderator

All replies

  • Try going to Tools menu -> Options ->Text Editor -> C# -> Intellisense and uncheck the option "Intellisense pre-selects most recently used members". Then click OK.

    Does this help? It does not disable Intellisense, but it should turn off background upates to the recent list.

    If you are fcing more problems please mention what's your machine configuration, and how large a project size you are working upon.

    Regards,
    Saurabh Nandu
    www.MasterCSharp.com
    Monday, November 14, 2005 9:38 AM
    Moderator
  • Chandra -
    Does your solution contain C++ projects?  That message on the bottom "updating intellisense" is not one that we commonly display for C# IntelliSense updating.

    Thanks,
    Karen
    Monday, November 14, 2005 6:34 PM
    Moderator
  • Hi

    We do not have C# projects. We have only C++ projects. We have around 200 to 250 projects in a solution... So how to disable intellisence in C++ projects.

    Thanks
    Chandra
    Tuesday, November 15, 2005 12:28 AM
  • Chandra, i've moved this into the "Visual C++ General" forum from the "Visual C# IDE" forum as you appear to only be using C++ and not C#.
    Tuesday, November 15, 2005 5:46 AM
    Moderator
  • There is a undocumented way to disable C++ Intellisense:
    Rename or delete the following file:
    <VS root path>\VC\vcpackages\feacp.dll

    • Proposed as answer by zirconia Wednesday, February 17, 2010 2:13 PM
    Tuesday, November 15, 2005 8:39 AM
    Moderator
  • Hi Chandra,

    Could you describe the size of your solution? Do you have many projects? Do you find yourself changing the headers often? Do you change configurations often (e.g. from debug to release and back)? Does your code make heavy use of preprocessor macros?

    Thanks,

    Tuesday, November 15, 2005 6:53 PM
    Moderator
  • I have the same problem (and may be working for the same company) 

    My solution has more then 30 projects consisting of a total of >2500 cpp files.  Each project runs a makefile in the pre-build event that automaticly builds header files from cpp files based on information in macros imbeded in the cpp code.

    Each cpp file contributes to up to 4 header files so if the solution were searched the same definitions will occur multiple times.

    Phil Borghesani
     
    Saturday, November 19, 2005 7:08 PM
  • Hi,

    The same problem, but with one advantage, I can share the code. It is actually the open-source library ITK (www.itk.org).
    The funny thing, I used it until today with no problem. It started happening now, and no way to stop it. I will try the radical way of deleting the dll. Hope it helps. And hope you fix the bug.
    Friday, December 16, 2005 8:37 PM
  • Some more info on the problem: I observed that the file .ncb is being sloooooooowly generated while this message "Updating intellisense" is on, until it reaches 11Mb in my case.
    After waiting patiently (about 20min), I close VS2005 and then it hangs again...

    I have read something about a new release which should be more stable... I am using version 8.0.50727.42 (RTM.050727-4200). Is there something I should update?? Where to find the right update? I just got lost in all this Microsoft download pages, the only things I found was a pre-beta release of WinFX runtime components from November, but I did not trust it enough to install it........

    Help would be welcome!

    Friday, December 16, 2005 9:11 PM
  • Same here. A C++ solution with 21 projects spends minutes "Updating IntelliSense..." with the CPU pegged. I think this problem is common to all VC8 solutions containing more than a few files and projects. And the funny thing is that the intellisense in VC8 does not pick up changes to header files as well as VC 7.1 used to -- and VC 7.1 did not peg the CPU every time I saved a file.
    Tuesday, January 10, 2006 6:02 PM
  • I just want to join the chorus.  The intellisense update is making my C++ project (hundreds of files, many hundreds of classes) unusable.  Please restore the VS 2003 performance.

     

     

    Wednesday, January 25, 2006 1:54 PM
  • My guess is that Intellisense performance is killed by some of the following: excessive use of templates in code, #import for large native COM classes (biggie IMO), errors in parsing which cause loops (i.e. it never completes), corruptions in NCB files (deleting usually makes things better for a while),  preprocessor code greying, very large precompiled headers, slow update of class view pane.    

    I have found a big improvement if I let it completely generate then back up my NCB file for safe keeping, and if it does start going bonkers again, restore the NCB from back up.

     

    Wednesday, January 25, 2006 2:43 PM
  • Hi all,

    I'm sorry I dropped off this thread. We have already started making some fixes in C++ Intellisense after we released VS 2005 but I'd like to make sure we are hitting all the issues you are facing. The ideal is to do the following: log a bug in msdn's product feedback (http://lab.msdn.microsoft.com/productfeedback/) and send me an email at borisj@microsoft.com with a link to it so I can make sure we follow up. Obviously, it's a little difficult for us to solve issues where the only information we have is "Intellisense is using too much CPU" so if you can get us something that reproduces the problem we would appreciate it.

    Thanks.

    Thursday, January 26, 2006 1:06 AM
    Moderator
  • Traian,

    We did a lot of work to increase Intellisense precision in VC8 so what you mention seems a little suprising. Could you post a sample of a change that VC8 does *not* pick up, which VC7.1 did?

    Thursday, January 26, 2006 1:08 AM
    Moderator
  • AxelM, it seems odd that we take 20 minutes to populate an 11 meg NCB. Are you dealing with a CLR project? Is your NCB stored on a slow drive (USB flash disk perhaps)? Otherwise I think you're hitting a real bug and I encourage you to log a bug so that we can work on this.
    Thursday, January 26, 2006 1:18 AM
    Moderator
  • I saw the Intellisense bugs reported in the bug db but MS seems to come back that is it functioning as designed.
    No.

    I see "Updating Intellisense..." with the CPU pegged for very longs periods.  The machine is 3ghz intel.  2 gigs of ram, big HD.  Intellisense is making it unusable when it pegs the CPU.  

    It seems to occur fairly often, particularly as I add new classes in h files.

    I have a mix of large projects  ( high hundreds of classes ) unmanaged C++, managed C++ and C# projects.   It uses many things from COM and std templates, windows.h etc


    The tail is wagging the dog.   If Intellisense can not handle the load, I need to kill it until MS fixes it.   At least give us an “Intellisense Off” checkbox if you can not get the performance up.


    Karl

    Monday, February 13, 2006 8:10 PM
  • I hate to bump this topic up, but I to am extremely frustrated with intellisense.  I have a large mixed C++ project (managed and unmanaged) and intellisense is basically unusable.  Every time I start typing in a header the "Updating Intellisense..." message comes up and drains my CPU for a good 20-30 seconds making the IDE unresponsive.  Every time I run my project, after compiling, the "Updating Intellisense..." message comes up and drains my CPU meaning I have to wait a good 20-30 seconds before I can test my application in any sort of responsive way.  And god forbid I instinctively press ctrl-s after making several changes to a file because, if intellisense is updating, which it ALWAYS is, the entire IDE locks up until it is done.  I really don't understand why every time I type a character intellisense feels the need to update.  What's worse, is with all this updating, intellisense doesn't even work half the time.

    Visual Studio is expense software, and I expect it to work.  There are a lot of positive things in .NET 2.0 and I'd love to take advantage of them, unfortunately, with intellisense enabled, the IDE is frustratingly unusable.  I have recommended against VS 2003 because of various editor bugs (that somehow have never been fixed) and problems with the .NET 1.0/1.1 framework.  Now I find myself doing the same thing with VS 2005.  It’s not surprising my work still uses VS 6.0.  Will there ever be a decent IDE for managed C++?

    Ryan
    Monday, February 20, 2006 8:12 PM
  • I also have a C++ 2005 problem like this. It is making it impossible for me to migrate my Visual C++ 2003 project.

    I have a single project with a 436 source files. Some files are large. When I open these files (some have a few thousand lines), once I give the editor focus by clicking on it, CPU usage maxes out and continues to do so until the editor loses focus. The screen updates maybe once every 10 seconds. I have two 2.8GHz Pentium 4's and 2GB of RAM.

    Visual C# 2005 also gives me a problem on a source file with a source file with around 1000 lines. Whenever I save the file, I get a three second pause.

    Visual Studio 2003 does not give me these problems. Even the large files give me no noticable perf hit while I work with them.

     

    Monday, February 27, 2006 7:24 PM
  • I do see the mega CPU usage happen a lot in the Visual Studio 2005.  The latest project I've seen it peg at an unusable 100% was the OpenSteer project out of CVS.  Information to grab it is from here: http://sourceforge.net/cvs/?group_id=77546

    I opened the solution and was able to build it once (although unsuccessfully, as it appears to be missing files from the .vcproj).  I added the appropriate files to the .vcproj, and from that point on, the project choked the Intellisense horribly, even after deleting the added files from the project.

    I renamed the feacp.dll file, and I can build the project fine, although there is no Intellisense.  The CPU usage does not peg at 100% anymore, either.

    Josh

    Thursday, March 2, 2006 4:53 AM
  • Joshua, that's great - it's good you identified something that Microsoft can download to reproduce this problem.   I updated this product feedback item with your information

    http://lab.msdn.microsoft.com/productfeedback/viewFeedback.aspx?feedbackid=bbc63ae8-1e88-4406-988f-4dd9110c7248

    If the IDE team is able to fix this well before SP1 there is a much greater chance it will be included in SP1.  Also contact product support (free support incident due to it being a bug) and ask for a QFE containing this fix, which will make it even more likely to be included in SP1.

     

    Thursday, March 2, 2006 1:22 PM
  • Joshua, I'm unable to reproduce the problem you have - can you send your NCB file to Microsoft, or update with more information at the bug item I provided.

    Thanks

    Ted.

    Thursday, March 2, 2006 9:47 PM
  • Hi,

    Don't lose all hope. We have been working on a hotfix that reduces the way Intellisense pegs the CPU and we would love it if you (and the other people on this thread) try it when we have it ready.

    Thanks,

    Thursday, March 2, 2006 9:52 PM
    Moderator
  • I'm game. Give us a link when it's ready.
    Thursday, March 2, 2006 11:01 PM
  • In VC2005 Express I get the "updating intellisense" message immediately when loading any source file, and it just sits and sits there.
    I'm currently in a solution that has a single source, and it's been going for something like 20 minutes now with no CPU usage but doing pretty much anything at all (like setting project options, getting to a point in the code where intellisense would kick in) VC will hang and have to be killed.

    I do have the PSDK and DXSDKs set up with VC2005 Express, which I assume is causing this (they're rather large of course).

    While I can understand why the database is repopulated when a new project is created to a degree, the mechanism used is (to say the least) not smart.
    Would have been better to have a system of partial databases shipping with SDKs which can simply be pulled together at project creation time (or generated on importing some SDK that doesn't have it just as it would be when writing a new class).

    P.S. there is no statusbar here. I did notice one appear on another project (3 CPP files and 2 headers) after about an hour yesterday, for that project the "generation" took something like 3 hours, yielding a 10MB ncb (ncb currently for the current project is less than 1MB after half an hour waiting).

    Saturday, March 4, 2006 8:45 PM
  • Actually, this behavior does not seem normal at all. Could you post the project that causes this to occur? I'm guessing it's hitting a specific bug that's causing the IDE to parse "infinitely" otherwise there's no way it would take 3 hours to populate your solution's Intellisense database (our codebase sure doesn't)

    Thanks
    Tuesday, March 14, 2006 2:34 AM
    Moderator
  • I, too, had the infinite Intellisense parsing bug (status bar would get to 90% then jump back to 20% every 10 minutes or so), but alas, when I deleted the NCB file, I could no longer reproduce this.  

    So somehow an NCB file can get corrupted, leading to this problem.

    Tuesday, March 14, 2006 1:10 PM
  • I've also noticed Intellisense taking way too long to update.  And yes the whole machine (AMD64 FX/X2 3800+, 2GB RAM) crawls along while it's doing so.

    Generally speaking I find each successive version of Visual Studio getting slower and slower as time goes on.  2005 is slower than 2003, which was slower than 2002, which was infinitely slower than VC6.  I blame the switch to C# and .Net.  The Visual C++ 6 IDE was lightning fast to respond.  I never had to wait a couple of seconds for the GUI to update.  When I wanted to stop a build, it stopped when I pressed the stop button, not 10 seconds later.  It also closed down in a sensible time frame.  With VS2005 if I want to close it down I tend to just kill the process in the Task Manager.

    Find-in-Files in VS2005 is appallingly slow too.  I don't know whether it's just because Intellisense is constantly hogging all the resources, but it's an order of magnitude slower than VS2003.  (I also hate having to constantly open the extra options in the redesigned Find/Find-in-Files dialogs.)

    The C++ compiler seems to be getting faster and faster with each new version.  Why can't the IDE?

     

    Wednesday, March 15, 2006 6:36 PM
  • There's no CPU hogging here, it seems to be running as a very low priority background thread.

    I can append the project file if that helps, but all it does is set the project to Win32 from the default (the other settings I only changed after the intellisense generation was complete, because changing them during generation would cause VC to hang).

    VC is set up to use the PSDK and DX SDKs (latest versions as of early this month).

    Thursday, March 16, 2006 5:33 AM
  • I am observing the same behaviour on a much smaller solution. This solution only contains 7 projects, 2 of which are C++ and the others are C#.

    My IDE spent all last night in the "Updating Intellisense mode" without getting to the end of it.

    Strangely, a few months ago, I encountered the same problem while working on a larger solution that had Native C++ (COM), Interop C++, Managed C++ and C# projects. The problem eventually went away after I completed all my work to the Interop project I was working on, and dud a fres full build of the solution. This seemed to help things a little.

    I have tried to do the same with this project, but in this case it did not do the trick :(.

    Sorry, I can't post any of my source code in this case.

    Friday, March 17, 2006 10:23 AM
  • Given my advantage of having this behavior in a realtively small solution, I was able to isolate what was causing the Intellisense to cause problems in my solution. Since I can't post my code here, I will give an example of what it was and hopefully this may assist others.

    I have a C++ interop assembly to provide the functionality if a age-old linear algebra library. From this library, I have a .h file where a struct is declared (and typedef-ed):

    typedef struct Vector_
    {
       int length;
       double *val;
    } *Vector;

    Since I cannot include these files into another namespace and I want to avoid name clashes with another Vector class I have in the solution, I have created a namespace and done a typedef of those types like follows:

     

    namespace ExternalLib
    {
       typedef ::Vector Vector;
    }

    This now allows me to refer to this type as ExternalLib::Vector. Now, what happens is that if I define a C-linkage method (be it in a class or global) that uses this type, the Intellisense will hang. Simple as that...

    For example, double Norm(ExternalLib::Vector);

    Friday, March 17, 2006 2:50 PM
  • Hi,

    The code you describe is indeed the one others on this thread have experienced. Our Intellisense parser goes into an infinite loop when you have a typedef of a global type within a namespace. We have already fixed it and created a hotfix for it. I am looking to push it out to the public before SP1.

    Thanks!

    Friday, March 17, 2006 10:24 PM
    Moderator
  • Thank you that has saved me a lot of time
    Thursday, April 13, 2006 1:44 AM
  • Any news on this hotfix being available?

    Thursday, April 13, 2006 7:13 AM
  • Me, too. Waiting for intellisense all the day. My .ncb file has then about 125 Mbytes. Is there really no help available?
    Tuesday, April 25, 2006 5:47 PM
  • Hi Boris,

    I'm seeing the same behavior as Chandra. The C project has over 100K lines of code. All files are on a RAID 0 disk array and system has 1G of memory with physical memory always available. The problem occurs if many changes are made between complete builds of the project. When the entire project is built frequently, Intellisense updating improves. However, many stages of development preclude this as the files are not buildable. In this case the only way to use the IDE is to rename feacp.dll to disable intellisense. Hiding the Navigation bar does improve performance but the IDE still hangs and you cannot type in the editor windows.

    Many of the posts focus on issues that might make Intellisense take longer to update. I think that misses the real problem. An assistive feature like Intellisense should never block the basic operation of the interface, such as processing keystrokes. Yes, if intellisense is not up to date it cannot effectively offer autocompletion. Is the best solution really to stop the user from typing? That's like having a butler to open doors for you who insists that you wait no matter how far behind he may get instead of allowing you to open the door for yourself.

    Surely Intellisense autocompletion can be temporarily disabled when out of date instead of blocking the user interface, and the Intellisense updating thread set to a lower priority. Then, no matter how complex the project or limited the computing resources, the user could at least continue typing.

    BTW, I tried to log this bug twice on the feedback page.

    Thank you for your help,

    John Capehart

    Wednesday, April 26, 2006 1:13 AM
  • Any news on this?  I'm experiencing the same problem and it makes Visual C++ 2005 quite unusable.  This doesn't seem like an infinite loop problem for me though, since Intellisense does, eventually, update.

    The other thing that drives me nuts is that even with Intellisense turned off in the editor, I still get the "Updating Intellisense..." bug.  100% of one CPU is consumed, and all of my available memory is used also.

    Frankly, it really sucks.

    Pierre
    Thursday, April 27, 2006 7:27 PM
  • There was talk almost 2 months ago about a hotfix for this issue (aside from Martin's suggestion that you can disable Intellisense completely by deleting feacp.dll). Whatever happened to it?
    Friday, April 28, 2006 1:52 PM
  • One thing worth mentioning, is that after renaming feacp.dll to completely disable Microsoft Intellisense technology, other third party well-known replacements, such as Visual Assist, work fine (even in Visual C++ 2005, except Express, unfortunately)

     

    Friday, April 28, 2006 3:24 PM
  • Anything more about the hotfix?
    Wednesday, May 10, 2006 8:52 AM
  • Is there any progress on the hotfix ? This problem is a real show stopper...
    Tuesday, May 16, 2006 8:47 PM
  •  Ted. wrote:

    One thing worth mentioning, is that after renaming feacp.dll to completely disable Microsoft Intellisense technology, other third party well-known replacements, such as Visual Assist, work fine (even in Visual C++ 2005, except Express, unfortunately)

      Visual C++ 2005 here crashes even after renaming that .dll file. With the file in place it crashes after few seconds. Here's an example Visual C++ 6.0 project, which couldn't be opened after conversion because of crash.
    http://revotron.tripod.com/c0104.zip
    VS 2003 converts and opens the project fine.
    Sunday, May 21, 2006 2:32 PM
  • I installed this hotfix:

    http://support.microsoft.com/?scid=kb%3Ben-us%3B916769&x=13&y=11

    The cpu is still pegged at 100%, but it is a little more usable inside vs8. But, this does not help any other apps.

    I also tried renaming the DLL to turn off intellisense. This does turn off intellisense (which is a temporary workaround at best because I actually use it), but it screwed up syntax coloring, so I had to backout this change.

    None of these solutions are acceptable. I need a better fix.

    The app I work on has about 2M lines of code. Every time I change a header, my system is basically unusable for 3 minutes. I'm developing code. This is ridiculous.

    Monday, May 22, 2006 9:43 PM
  • Randy, we tried to be careful to set the Intellisense thread priority low enough that it should not interfere with any of your other applications. Are you not seeing this behavior?

    We realize that editing headers causes our parser to work for a long time (given that it must reparse all the dependent files). We are trying to improve this in our next release. Feel free to contact me at borisj@microsoft.com so that we may delve a little deeper into your scenario.

    Thursday, May 25, 2006 9:17 PM
    Moderator
  • We have released two hotfixes to alleviate the problems mentioned in this thread.

    The first fixes a bug in our parser, which causes it to run in an infinite loop. You can find more information here: http://support.microsoft.com/?scid=kb;en-us;916769

    The second reduces the thread priority of our Intellisense thread so that it plays nice with every other application (including the IDE itself) despite its long parse times. You can find more information here: http://support.microsoft.com/?scid=kb;en-us;913377

    We welcome feedback on both of these issues and we are continuing to work on improving the performance of Intellisense in our next release.

    Thanks,

    Thursday, May 25, 2006 9:23 PM
    Moderator
  • The simplest way to disable Intellisense for a solution/project is to simply create a directory with the same name of the intellisense file in the directory where the file normally resides. In other words, if you have a Stuff solution, delete the Stuff.ncb file in the directory where Stuff.sln resides and create a directory named Stuff.ncb.

    Every time you load the solution a dialog panel will be displayed warning that intellisense will be disabled, but other than that everything seems to operate normally.

    • Proposed as answer by Wyck Friday, April 17, 2009 1:40 PM
    Tuesday, June 6, 2006 8:26 PM
  • Hello,

    Is there a simpler way of obtaining these bugfixes than having to call the Microsoft support? Why not just give us a direct link from where we can download the hotfixes?

    Cheers,

    Markus
    Friday, June 16, 2006 12:40 PM
  • You need not call support via phone - you can do it online at support.microsoft.com

    http://support.microsoft.com/oas/default.aspx?Gprid=3041

    Then select the product (Visual Studio 2005 Professional) and then press "Start an email request" and then type in your product ID and when it asks you to describe the problem, mention you need a hotfix and give the KB id number, and for what product.  Within 24 hours (usually), someone will email you a link to the hotfix and the password you need to use to access it.   

    Friday, June 16, 2006 7:47 PM
  • Boris,

    I cannot exit VS2005 while the intellisense is updating, though I have both hotfixes applied. The computer hangs again.


    Best Regards,
    Jeremy Wong

    Monday, June 26, 2006 8:42 AM
  • Be careful with removing feacp.dll marked as answer to this question: this removes also designer support for C++/CLI Windows Forms.
    Monday, June 26, 2006 9:11 AM
  • I could not find a KB article listed in this forum thread for this problem, so here it is: KB Article Number: 916769.  You will need this when requesting the hotfix. 
    Friday, June 30, 2006 8:22 PM
  • Btw, I installed this hotfix, and it did NOT resolve the Intellisense hang.
    Friday, June 30, 2006 10:30 PM
  • ...installed the hotfixes too, but the freeze of Intellisense is still there :(
    It had also nothing to do with large solutions as described in the KB. I have some very large solutions with many projects included and they work fine with Intellisense but other small solutions not.

    Disabling the Intellisense by renaming the feacp.dll is also not a soulution, it disables the class-browser/view too. We will stay further with the freeware Code::Blocks in our project team and not updating to VS2005 because our customers can't wait until MS fix this.

    Saturday, July 1, 2006 1:23 PM
  • I had a bad experience with the updating intellisense too. After installing the 2 hotfixes, the situation is slightly better. The IDE is under control in some senses.

    In addition to the hotfixes, I also identified one of my source files which caused the IDE not responding. I excluded the source file from my project. Then I await the updating intellisense go to completion. Make a full backup this moment. Next I re-included the problem source file and compiled the project. Everything goes fine now.

    My observation told me renaming method names or moving among namespaces usually cause the IDE not responding. Avoid doing so with the IDE or click the save all button only if you have made all the changes.
    Monday, July 3, 2006 8:53 AM
  •  k_d wrote:

    The simplest way to disable Intellisense for a solution/project is to simply create a directory with the same name of the intellisense file in the directory where the file normally resides. In other words, if you have a Stuff solution, delete the Stuff.ncb file in the directory where Stuff.sln resides and create a directory named Stuff.ncb.

    Every time you load the solution a dialog panel will be displayed warning that intellisense will be disabled, but other than that everything seems to operate normally.

    This worked for "Updating Intellisense ..." issue but now VS 2005 hangs on "Saving Auto Recovery Information..." :(

    Thanks

    Friday, July 21, 2006 1:12 PM
  • Intellisence is working acceptably for me, the biggest problem I have is that "Updating InstelliSense..." typically starts right after finishing building, just when I'm about to run and test executable.  And I have to wait about 10 seconds before my exe launches, just because IntelliSense consumes 100% CPU time for several seconds.

    Why not waiting with the IntelliSense work after CPU is for some time idle? At present it's started at worst possible time, right after build finishes.
    Monday, July 24, 2006 3:47 PM
  • I have updated VS 2005 with the hotfix as mentioned on the StartPage under "Download the Visual Studio 2005 fix for Working with Large Visual C++ Solutions." The crash issue seems to be dealt with. However, Intellisense is still taking up too much cpu and making VS very unresponsive.

    This is with a relatively small solution of 9 projects. Though there are several hundred files. It does not make sense, however, that Intellisense should be hogging the CPU for every minor change in a header file, even when the header file is common to all stdafx.h files in all projects.

    Deleting and forcing a rebuild of the ncb file seems to help some. But this should not be a solution to the problem.

    Thursday, July 27, 2006 5:53 PM
  • If you need a 'sample project' try downloading the ACE/TAO open source project from: http://www.theaceorb.com/downloads/1.4a/index.html .. Pull in ACE_wrappers/TAO/TAOACE.sln and build the ACE project... Then wait a bit and IntelliSense will start updating and run on forever.... (I'm on XP Pro SP 2; 3 GB ram; 232 GB Disk 122 GB free; Pentium D at 2.8Ghz)... Have fun!
    Sunday, July 30, 2006 5:03 PM
  • I lead the project of moving all our company's developers from vs6 to vs8.
    of course the performance degredation of intellisense was unbearable and we almost cut the whole project and stayed with vs6 - but after renaming the feacp.dll on all computers in the company and installing visual assist X (and disabling the navigation bar in the options), the performance was acceptable and we still had all the benifits that intellisense does without using intellisense.
    feacp.dll also got a pun name in the company "f**kup.dll" ... :)
    but anyway, to date everything is working, performance wise, much better than when we were using the intellisense. I recommend renaming until performance issues are fixed by MS (or they buy visual assist and integrate it instead).

    Tuesday, August 1, 2006 8:03 AM
  • At this point I have a reliable duplicate test case which hangs in feacp.dll at ResolveTypedefToType descended through ParserMain::Parse().  100% hangs while adding a project to a solution.  I'm not a happy camper, as the online support options do not acknowledge my product ID as being valid, when it was handed to me by a microsoft-representative at a public showing of VS2005.

    I'm not willing to risk $99 on my own credit card for microsoft to say "so sorry, that isn't the fix you're looking for."

    Monday, August 28, 2006 9:43 PM
  • In terms of the IDE-stopping behaviour whenever you make the tiniest code change to a header file, I can get 100% reproducibility with this on a project I'm currently working on.  The system spends more time in "Updating Intellisense ..." at 100% CPU than doing anything else.  Thankfully the feacp.dll hack fixes it perfectly, with little noticeable difference to the work environment.  If anyone at MS wants the project files to reproduce this, let me know.
    Tuesday, August 29, 2006 10:12 AM
  • I managed to work around my 100% reproducible case:  i deleted my .NCB file before starting up VS2005 and adding the new project. 

    Tuesday, August 29, 2006 2:14 PM
  • Is there any fix coming for this that actually works?
    Sunday, September 17, 2006 1:42 AM
  • This is what I am using for this problem. If you go to this folder, Microsoft Visual studio 8\VC\vcpackages, you can see the file feacp.dll. Just rename it different name. And close the vc8 and open it again.

    There is no intellisense to happen. But you cannot use other function, for example,  automatic code completion function.

    I wish that this is helpf for you

    Friday, September 29, 2006 3:39 PM
  • In case anyone from MS is reading this, I have the same problem.  Just typing a few characters in a header file used by many other files brings VS 2005 to its knees.  Often it is totally unresponsive for 10 seconds or more (on a 3.4ghz P4) and sometimes the IDE goes into a window repainting frenzy and the ide itself loses focus.

    The VS2005 SP beta does NOT fix this problem either, very disappointing as it renders VS unusable unless feacp.dll is renamed. Surely with all the C++ programmers at MS, someone must have a reprodcable case of this.  I certainly do, if anyone from MS is interested.

    Monday, October 2, 2006 12:57 PM
  • Well, one thing I have notice with  VS 2005 is not the high cpu, but long time to "Updating IntelliSense".  I got annoyed enough that I did a packet trace to see if I could figure out what is going on.  Well, turns out that VS2005 is updating the ncb file TWO BYTES AT A TIME!  So, you have a 10 meg file to write, that is 5 million write()s and 10 million packets on the network (minimum).

    This is something VS 2003 didn't do. Can we PLEASE go back to the old behavior?
    Tuesday, October 17, 2006 3:28 PM
  • I ran FILEMON and indeed this thing is writing in 2 and 4 byte chunks.  It should be using buffered I/O.
    Tuesday, November 21, 2006 9:00 PM
  • Well, I found a problem with this solution.
    I have used the VS 2005 IDE without problems for many months, I mean the slowness of the IDE, thanks to this information. However, recently I found out that it introduced two other problems.

    I thought that the VC++ 2005 didn't support Windows Form editing, i.e Form Designer. Even "Sams teach yourself Visual C++ .NET" said so.
    However, I found out that disabling the feacp.dll also disabled Windows Form editing.
    By restoring its name, the Windows Form editing is enabled.

    Another problem is that the class view is also disabled. So, you can't use the convenient code browsing feature with the Class View and the methods/function list which appears on top side of the editor.



    Friday, December 1, 2006 5:08 PM
  • I also believe I am being bitten severely by intellisense. Periodically, while using VC8, one of my cores pegs at 100% and my machine starts to become unresponsive. I note that devenv.exe is using up 50% so I kill it from the task manager. A few seconds later, ANOTHER process (sometimes explorer.exe) now pegs at 50% and it just goes downhill from there. I have to log out or reboot to put things back to normal.

    I just noticed a little awhile ago that devenv hung up while the intellisense processing was happening. I killed devenv and this whole process started. I've tried removing the "f**kup.dll" and will see how that goes.

    I can't being to express how much time this "feature" has cost me.

    Friday, December 8, 2006 6:29 PM
  • Boris,

    Just to let you know, I work at a large software company, we have pretty good computers, 1.8 GHz, 1GB Ram, and the project we work on is fairly large. We updated to Visual Studio 8 recently. All the developers hate this version of Visual Studio!! It is worse than going to the dentist. It has turned the job I love into an interminably frustrating experience. Not only does Intellisense peg the CPU often (even with the hot fix to lower its priority installed), but it also locks up my entire computer quite often while it is "thinking". MS Word seems to be especially sensitive. If Intellisense is running, MS Word won't respond at all for quite some time. So trying to get something else done while Intellisense is tying up Visual Studio is also impossible. One other thing, the incremental linker dies about 50% of the time (internal error). I can't believe it was released with these gaping problems.

    We have all complained to our management about Visual Studio 8, since we agreed that we are losing about 20% of our productivity due to its awful performance compared to the previous version. Like I said, its not just Visual Studio that is affected, its all apps on the computer. You just can't use 90-100% of the cpu whenever you feel like it, for as long as you feel like it.

    I sure hope you address this in a reasonable way in the service pack. Please have your QA department test a large project with it, since you seemed to imply you hadn't really seen this awful behavior.

    I will rename feacp.dll like the others have suggested and get Visual Assist.

    --Tim

    Wednesday, December 13, 2006 12:50 AM
  • My team installed the vs2005 service pack 1 two days ago, and found that intellisense is still broken.  I've had 2 occurances of the IDE locking up when I right clicked on an identifier in my code.  I let it run for half and hour before end tasking.  After the first one I tried deleting the ncb file, but obviously that didn't solve the problem.  Looks like we'll probably have to go back to deleting the intellisense DLL.   Also, we still have problems with incremental links some times taking as much as 15x longer than a full re-link (i.e. 15 minutes vs 1 minute).   So far we are incredibly disappointed with this service pack.

    Wednesday, December 20, 2006 5:20 PM
  • My team can confirm this. The SP1 release did not fix the intellisense bugs. I just removed the f***.dll again so i can do some work.
    Thursday, December 21, 2006 3:17 PM
  • First the SP1 DID NOTHING to fix the Updating intellisense Bug? Mistake? Disaster? Junior programming disaster.

    I opened up a support ticket from my MSDN account about this issue.

    From what I just read here they will probably say it works like we intended .

    I cant wait to post that on the web. MS intends for projects to be unusable for over an hour becase of intellisense.

    But you all know that. What I wanted to know is where find out about such debug tools ;)

    If this is the issue Good Catch! 2 bytes at a time what programmer would code such code?

    This does scare me. Is this is an example of the quality of VS 2005 code?

    I just migrated about 6 months ago when we started doing some web projects. I wrote some C# code and I wanted to take all the existing C++ code to 2003 from 2005. So far I have not been left of a good impression of C# or VS2005.

    From everything I have written and used C# client apps slow, .NET web apps slow, C++ VS with intellisense slow

    I am starting to see a trend and I am not liking it.

    Thursday, December 21, 2006 4:58 PM
  • Its January 9th and so far there has not be a resolution to this issue from MS. The support ticket is still open. To be fair I was on holiday for a while during the Christmas season.

    So in short on 3 different machines Intellisense hangs VS2005 Service Pack 1. A basic feature that you need to turn off with a HACK to get make VS2005 kinda useful for C++ programmers. It seems that there are many things fixed but many things still broken.

    Bob

     

     

     

     

    Tuesday, January 9, 2007 4:41 PM
  • Have you tried deleting the *.NCB files.  I have 4 very large projects consting of over 300 projects.  Once in a while my editor decides its time to "Freak out".  At that point I delete my NCB files and it rebuilds them which takes a little while, but afterwards everything works fine for a few months.

    I must admit I haven't read through the entire thread so I dont know if this was suggested or not.

    Ray

    Tuesday, January 9, 2007 4:56 PM
  •  At that point I delete my NCB files and it rebuilds them which takes a little while At that point I delete my NCB files and it rebuilds them which takes a little while

     

    When you allow the NCB files to build it seems to be better but it takes me over an hour to generate those things. Thats just too long to wait for an editor to function. These projects are not large. We are talking 20 to 30MB of ncb but the twist is I am trying to use a high speed Flash so I can make my projects portable tween multiple machines. Laptop, home workstation, and work workstation. I have a 4GB usb and plan to get an 8GB version soon. I have been doing this since VC 6. I have 3 compilers I purchased just for this convience. (well I bought 2 work bought 1)

    I think I can verify whats been said earlier. When generating the NCB it must be trying to write very small bytes packets like 2 or 4 bytes at a time. The write light is flickering like crazy. No other app is doing this except VS 2005. Disk Cache may be saving them on an IDE but you dont get that with USB.

    This USB is not a slow poke. I clocked it at 10 to 15MB/sec write and 20 to 30MB/sec read. But that is reading and writing large chunks. A 330MB zip file can be copied in 10 to 20 seconds.

    I think the obvious fact is VS cant generate a 20MB ncb file in an hour. This entire thing wreaks of a bad mistake when they created the intellisense DLL. Someone used the  <<  thinking it would write cache for them. :). VS2003 seemed to work OK as well. VS 2005 is unusable. 

    Even if I am on the hard disk I get terrible sluggishness when changing projects. Then there is the whacky stalls while you type. I am not sure if Sp1 has fixed these as I am still dealing with problem number 1 first. I want my portability back.

     Bob

    Thursday, January 11, 2007 6:54 PM
  • Why Microsoft just dont put an option to MANUALLY update the Intellisense? VS has absolutely no knowledge about when to update it... Please dev tem just put a big button in some place with a "Update Intellisense now".

    thx
    Friday, January 12, 2007 3:33 AM
  • Hi,

    Intellisense works great in C# and is a real time saver, but I've been running with Intellisense disabled (by renaming that DLL) for most of the time I've been using VC 2005.  I had hoped SP1 might fix this, but it sounds like it won't.

    Can someone from Microsoft make some statement about the status of these Intellisense problems in VC 2005?  There appear to have been no posts in this thread by MS for months.  What does that mean?  I can only infer that this is an embarrassing known problem, for which there is apparently no solution.  Is IntelliSense something that works OK for 75% of the people and fails with these 100% CPU issues for the other 25%?

    I'm sure you MS guys know exactly what the situation is.  Could we please have some transparency here?  I personally would be happy if you just leveled with us and said (hypothetically, maybe this is not true) "This feature is not going to work for 25% of you in VC.  For those of you we recommend you just shut it off and get used to 'Find-in-files' as a manual equivalent of Intellisense for VC".  :).

    Thanks,
    Alex

    Friday, January 12, 2007 5:38 AM
  • VS 2005 SP1 did lower the intellisense thread priority.  The 2 or 4 byte write byte write is still there, but it seems to be fixed in Orcas CTP.

    The main solution for text editor responsiveness seems to be to get a multicore or hyperthreaded CPU.  Unfortunately even with lowered thread priority, the disk is still involved big time so it interferes with the text editor on a single core machine.
    Saturday, January 13, 2007 10:05 PM
  • But this must be a serious design flaw / bug, don't you think?  VC 2005 should be smart enough to know what H files have changed, without having to keep reparsing them (or whatever it's doing that is sucking CPU cycles).  You shouldn't need a multi-cored CPU to support Intellisense ;).  It works fine on C# without that.  I'm guessing the answer is just too embarrassing for someone on the VC team at MS to post on a public newsgroup.  Maybe this is the kind of thing you have to post on the anonymous mini-Microsoft blog in order to get an answer for :).

    Sunday, January 14, 2007 9:50 PM
  • This is still an issue for me and the other engineers at work, after installing Service Pack 1.

    Microsoft, you really need to fix this as soon as possible, it's been far too long as it is.  Any advances you may have made in the quality of Intellisense's functionality, you are losing easily three-fold in slowed development time.  This is having a major impact, not just in slower development but in general attitude of developers.  We're getting pissed off and frustrated using this IDE, and that slows down the pace of development too.  The IDE needs to move at the speed of thought as a first priority.

    You had the opportunity to fix this before a service pack release and didn't.  How long do I have to wait now?

    - Jay

    Wednesday, January 17, 2007 9:36 PM
  • >> You shouldn't need a multi-cored CPU to support Intellisense.

    I agree.  I was just suggesting something for people who are desperate and can afford this solution.

    I'm not sure how it is implemented, but I assume that the need to reparse all the files is due to the #define expansion.  Say foo.h is included by a bunch of other files and in it you change a #define.  That #define could completely alter those other files that include this foo.h.  This new intellisense attempts to be perfect.  I think a solution might be to do a better job of tracking how an h file is changed to see if a change affects other files.  So if I add a comment to an H file, there's no need to reparse dependent files.

    I think the VC2003 way was better since it worked better for the average case and seemed to be based on CPP files, not on H files since I remember that I didn't even need to have the #include file in order to get intellisense for some class.  As long as that class had a cpp file in the solution.  In attempting to be perfect, they seem to have made it slower.   Hopefully if enough people complain, it will get optimized.
    Thursday, January 18, 2007 7:38 PM
  • No, it doesn't need to be that complicated.

    Basically the database just needs to store references from where something is used to the declaration.  If I use some #define in foo.h and I modify that #define, all I should be updating is the declaration for that define.  If I start using that define in a cpp file, or another header file I should just be adding a reference to that #define.  Similarly if I stop using that #define in another file, I should just be deleting the reference.

    The database merely needs to reflect the C++ namespace tree with line and file references.  When I'm editing a file I just keep track of where I am in the tree.  And to add remove a reference to a symbol I just need to walk the tree based on the current context and modify the relevent symbol.

    The trickiest part of all this (which I haven't completely solved in the 5 minutes I've been thinking about it) is how #includes can change the scope on a per file basis.  Every source file starts at the root of the tree.  If you create header files as root nodes too, but walk them with the scope inherited from the #include location, I *think* that should solve most of the problems.  (I'm sure someone can come up with reasons why this wouldn't work as advertised, but well, I don't work for MS, so I'm not going to invest any more time thinking about this.  )

    James

    Friday, January 19, 2007 7:59 AM
  • Well its Jan 22. No resolution to the IntelliSense issue yet. My support ticket is still open.

    Here is a link of all the changes to IntelliSense

    http://msdn2.microsoft.com/en-us/library/ms364071(VS.80).aspx

    Kinda cool when it works. So far it seems like this issue will remain broken or worked around.

    MS like the OLD IBM is so departmentalized you cant get someone to read the code confirm or deny anything.

    I cant even get yes or no answers to the question if they are writting 2 or 4 bytes at a time inside of

    Intellisense. This is what your support buys you.

    A) possible work around, disable your intellisense. (So if you stop it from working it isnt broke, even you have to think thats a funny thought)

    B) Run around, maybe its this or that or this or that run these tests. I have tell the same story over and over to different people.

    C) Yeah maybe your right but so what. We dont change the code so here so how about you try another work around. It it doesnt work we have to escalate this to another comittee to evaluate if we should change the code just for you.

    WOW i thought if its broke and its bad you fix it. Thats just not the case. Instead you get, "Maybe someday we will fix it if we feel like your worthy. "

    OH this is fun.. I love MS support.

     

     

    Monday, January 22, 2007 6:06 PM
  • Gary, I believe this issue is on our core IDE and it has been fixed in SP1. Can you confirm?
    Tuesday, January 23, 2007 7:51 PM
    Moderator
  • Andrew, am I to understand you have tried your scenario with SP1 and the problem still occurs? If so, please email me with the repro details at borisj at microsoft dot com.

    Thanks,

    Tuesday, January 23, 2007 7:59 PM
    Moderator
  • Paxton, if you can package a repro case for this hang after installing SP1, we would love to investigate it. You can email me at borisj@microsoft.com

    Thanks,

    Tuesday, January 23, 2007 8:01 PM
    Moderator
  • Hi btasa,

    Can you send me the info regarding your support case so I can track it down on my end? You can email me at borisj@microsoft.com

    Thanks,

    Tuesday, January 23, 2007 8:03 PM
    Moderator
  • Hi btasa,

    I have no problem confirming that prior to SP1, we serialized our NCB file in a horrendous fashion. There's really no point in hiding this given that you can see it plain as day using FileMon. The truth is, the serializtion code didn't explicitly write out things one byte at a time, but it did not take into account originally that it would have large collection of single byte objects that would be serialized (poor assumption obviously). We have since done some work (in SP1) to improve this and add some buffering which helps. Of course, it's not enough and the more specific scenarios we can investigate, the better we can do.

    Rest assured that we do care about improving our Intellisense situation and we are addressing the underlying design issues as well. Creating an Intellisense engine for C++ that handles all of its complexities is not as simple as it sounds and we have been bitten by trying to be very precise without preparing for the fallout.

    Thanks,

    Tuesday, January 23, 2007 8:09 PM
    Moderator
  • Hi Boris,

    Thanks for giving us some more information about this.

    So is VC++ 2005 Intellisense working OK for most people (75%?  90%? of the users), but failing with CPU-maxed-out problems for a smaller number (10%? 5%? of the users)?

    An aside:
    This seems like a case that shows the benefits of open-source, especially for developer tools.  If VS was like Eclipse and the source code was downloadable, probably someone outside would already have fixed the problems, especially for the less common "edge-cases".

    Thanks,
    Alex

    Wednesday, January 24, 2007 2:20 AM
  • I think if VS was like Eclipse most of us would have switched to something else a long time ago. 

    Seriously though, a lot of these issues have been plaguing us since the release of VS2005.  Would it be too much to ask for more regular patches?  Windows has monthly patches these days, couldn't VS move to a similar update schedule?

     

    Wednesday, January 24, 2007 1:47 PM
  • I was able to get the same effect as the f...dll workaround by choosing Tools > Options > Text Editor > C/C++ and deselecting the Statement completion checkboxes. I believe this leaves the winforms functionality intact, though I haven't tested this since I only do winforms with C#.

    FWIW, I can't post my code, but I have a solution with 156 projects. There's lots of stl and a little bit of funky header generation stuff going on at the lower levels of the codebase. Several million lines of code. I have been modifying the project at the top of the dependency tree (links against many other projects; nothing links against it; one project includes one of its headers, which has not a single #include). I'm not using PCH. VStudio 8 team system without sp1 crashed several times yesterday and again today; I let it send the error report back to MS. In each case, I was in the middle of editing a .cpp in the top-level project. No builds or debugging were underway. I think the crash was precipitated by intellisense kicking in in the background as I typed.

    --Daniel

    Wednesday, January 24, 2007 5:10 PM
  • Hi Def,

    But it's the feature set of Eclipse you don't like, right?  What if you could download the source to VS, with its nice feature-set, but some important bugs that don't seem to get fixed fast enough?

    I think it's ironic that this is a programmer product, so some of the people getting these bugs are qualified to find and/or fix them, given the source.  The VS team could focus more resources on Orcas, rather than bug fixes.  Am I dreaming?  Well getting more frequent service packs is only slightly more likely to happen , , .

    Alex
    Wednesday, January 24, 2007 7:08 PM
  • Hey MS Guys,
    We appreciate the fact you are working on it and it is complex but one thing still puzzles me -
    Every computer science guy knows the following facts:
    1. writing 2-4 bytes a time = bad performance
    2. writing a simple buffering middle tier class that receives those 2-4 byte writes and stuffs them
        into swinging buffers mechanism with a-sync flush system to the disk can improve this situation immediately and it doesn't cost much (1-2 weeks coding and unit testing) to write such a class.

    why don't you do it ? it is so easy ... you don't need to wait till the whole big problem is solved - start by solving this.

    I heard a few months back MS hired Mark Russinovich, put him on the solution for one week and you will see the results !

    Until this is fixed we still have to disable the f*.dll  and use visual assist and suffer the fact the browsing info can not work.
    Thursday, January 25, 2007 7:18 AM
  • Hi thedrs,

    I imagine Boris and the rest of the VS team are very smart guys.  This Intellisense issue has remained unfixed probably because its tricky (many weird special cases) and because not enough customers have screamed about this issue specifically (there are a lot of other people using VS).

    Do we know for sure that the inefficient 2-4 byte write is really contributing that much to the problem?  It sounds like the MS guy is saying there is other more complex stuff that is the real problem.  Maybe when (or if) the complex stuff is fixed, then fixing the inefficient 2-4 byte writes would only make it 10% faster.  I'm just speculating.

    Hey, if we had the sources, we could not only find and fix the bug, but profile and optimize it too .

    FWIW: My guess would be that Russinovich knows a lot more about drivers and OS internals than he does about compiler design and optimization.

    Alex

    Thursday, January 25, 2007 7:45 PM
  • Well my support ticket on this issue gets placed as unresolved and tough LUCK Intellisense is not important enough to fix for C++ guys.  

    You mean you cant BUFFER I/O I said. Do you know if this is the cause?

    Well its complicated. What a LOAD of pass the buck.

    I am NOT a happy MS developer. 20 years doing this and the support and new ideas have gotten worse every year.

    I hope everyone learns that you can turn in support tickets and still get Blown off. Why should I use this beta 2005 software anymore?

    This is the case for open source and transparency. Otherwise obvious bugs get ignored cause HEY its just developers complaining. No one important. ARGHH...

    I would expect this TO NEVER get fixed cause lets face it your all supposed to use C# SLOW anyway.

    Annoyed and greatly disappointed.

     Bob

    Friday, January 26, 2007 7:11 PM
  • BORIS,

    You just gave me more information than I got from my support case thats been open for what about a MONTH now. What a JOKE.

    I can tell you SP1 writes out exactly the same way. SMALL bytes. HOURS to write out a 25MB file and as I was told when I was blown off with my support ticket.. We dont see any way to address this.

    TAG your turn..

    Bob

    Friday, January 26, 2007 7:19 PM
  • I just installed SP1 and this "Updating Intellisense..." started happening.   That's lead me to this long thread and it sounds like there's no solution at this point.  Is that correct?  I'm going to turn off intellisense either through the IDE or by renaming that dll, but that's a bit frustrating.  P.S. - I attempted to get the hotfix for this but MS support web page kept saying my product ID number is invalid.  Frustrating ordeal.
    Friday, January 26, 2007 9:06 PM
  • I should have mentioned - I'm using C++ with a lots of projects (100 or so) and lots of files.
    Friday, January 26, 2007 9:10 PM
  • >I'm going to turn off intellisense either through the IDE or by renaming that dll, but that's a bit frustrating.  P.S. - I attempted to >get the hotfix for this but MS support web page kept saying my product ID number is invalid.  Frustrating ordeal.

    Dont worry the hot fix probably doesnt work either. This is a real bug at best annoying and worst debilitating. From what I undestand this is broken for anyone that has lots of projects in there solution. Its also broken for networks, people who have slow drives, etc.

    After jumping through hoops for a support ticket I dont think this will be fixed unless everyone starts screaming. Its bad coding to writes to files in small byte packets.

    Boris from MS seemed to indicate thats not so for SP1 I beg to difer its the same as it ever was..

    Your only recourse is to go back to 03. That does fix it ;)

    Disappointed

    Bob.

     

     

    Friday, January 26, 2007 9:37 PM
  • Boris did email about this issue. He asked that I go through another round of check this check that. I told him if its writting 2 bytes and 4 bytes at a time then they dont need me. They need to OPEN the code and fix the problem. I also told him that I can tell

    this is the case since I have a flash drive and it flickers continually while the updating intellisense is shown. If I let it complete in about 1 hour or so then its OK and the flicker STOPS. I am yelling with my type because I dont see why such a fundamental issue has to become a 7 page thread that MS wont fix.  I am sure they can do this but whats there seems to be no desire to FIX it.

    So again disable a productivity tool (intelisense) and I bet you can even work with your source files on a network, which I was told they dont support. HOW insane is this?

    Very frustrated that I have to tell my management that I cant use this tool. Maybe next time.

    Bob

     

    Thursday, February 1, 2007 8:59 PM
  • Is it so difficult for the VS Studio team to put a damned checkbox option for disabling the fucking intellisense?
    What the hell!!!! I'm loosing hours looking at VS hourglass!!!!!!!

    And the announced SP1 does nothing to solve this bug.

    Friday, February 2, 2007 2:39 PM
  • I have noticed this problem for 4 months. And it really wasted me a lot of time!

    My solution only has 7 projects and the bad intellisense takes 90% of the CPU.

    I really hope this problem can be solved soon, otherwise how can our companies trust your MS guys!

    .......

    Ying

    Friday, February 2, 2007 3:35 PM
  • Maybe it's working for me.  Here's what I'm seeing:

    + I have SP1 installed
    + I blow away my .ncb file
    + Load Dev Studio
    + Open my solution (large, 100 projects)
    + After project loads, "Updating IntelliSense..." appears, along with status bar
    + This happens for 9 minutes
    + During the 9 minutes:  devenv CPU usage is around 50%, I can watch .ncb grow
    + When done the .ncb file is about 87kb
    + Shut down Dev Studio
    + Start Dev Studio back up
    + Load my solution
    + "Updating IntelliSense..." appears, along with status bar
    + Only takes a few seconds

    I'm wondering if I was having issues earlier because I was killing the devenv task from task manager instead of letting it shut down on it's own.  I often do that because it takes so long to shut down with my solution.

    I haven't seen what happens if one of the projects changes, but I'll post back if I see a problem with that.

    So for now it takes me about 10 minutes to update intellisense the first time my large solution is loaded, but after that it's not bad.  I can live with that.

    Mike


    Monday, February 5, 2007 4:42 PM
  • What happens if you make a header change which forces the intellisense to flush and update?

     

    Monday, February 5, 2007 8:21 PM
  • You're right, if I or anyone else makes changes it starts all over again.  The entire development team is seeing the problem and it's a major deal for us.  We're not sure where to turn.  Is this thread being monitored at all, or should I be looking elsewhere?  Is anything being done to fix the problem?Thanks,Mike
    Friday, February 16, 2007 2:03 AM
  • I opened my ticket and was told my problem that I was seeing and you are experienceing in much larger projects is not a problem they are concerned about. Notice they dont even reply to the thread anymore. Did you try to email directly?

    I learned one trick that might help you. Try setting the NCB file to read only. Then it will create a Ram based image or so I was told.

    If you have a large solution file this may be of no help or it may be what you are looking for. Worth a shot.

    As far as MS monitoring? Why? its their tool or ? I have started to long for the DOS days.

     

    Friday, February 16, 2007 9:26 PM
  • One quick way to disable intellisense;

    • Start two copies of VS.net 2005.
    • load the same solution in both at the same time.
    • the second instance reports that intellisense is unavailable and carries on working.
    • The first copy will continue in the background, or in my case soon crash.

     

     

    Sunday, February 18, 2007 8:55 PM
  • I have a VS2005  installed on a P4 2.6GHz. My solution (2 projects, about 100 files in total, all C++) resides on a network share. Even with SP1 installed, "Updating Intellisense" was displaying all the time and just slowed the computer down to it being unusable. Sometimes I got the feeling that when it was finally done with one update, it just started the next one - or maybe it never finished. I usually had to restart at least VS to get some work done for a while.

     btasa wrote:

    I learned one trick that might help you. Try setting the NCB file to read only. Then it will create a Ram based image or so I was told.


    This helped the situation tremendously. It rebuilds/updates the NCB (apparently in RAM) in a few seconds and auto-complete is still usable.

    Sunday, February 25, 2007 10:52 AM
  • >I have a VS2005  installed on a P4 2.6GHz. My solution (2 projects, about 100 files in total, all C++) resides

    >on a network share.

    Havent you heard, this is not supported! Thats what I was told by MS when I had my support ticket open.

    Basically this intellisense is broken Microsoft is BLOWING you all off. If they can let a basic feature like this be designed as

    poorly as it is, its NO surprise why the entire suite is SLOW and BUGGY. Great work Microsoft !

    If you think this is bad wait till you work with the C# DBGridView. ROFL. I would love to complain more but no one at MS cares so whats the point. Back to coding.

    Wednesday, February 28, 2007 3:55 PM
  •  btasa wrote:

    >I have a VS2005 installed on a P4 2.6GHz. My solution (2 projects, about 100 files in total, all C++) resides

    >on a network share.

    Havent you heard, this is not supported! Thats what I was told by MS when I had my support ticket open.

    Yes, that's why I put it in bold :-) Unfortunately it is not an option to have the project stored on the local hard drive (for many different reasons). And if you stick to the things that are "supported" by Microsoft, ...


    P.S.: For what it's worth, having run with this solution now for a few days has not shown any problems and the annoying stalls and cpu peaks are gone.

    Friday, March 2, 2007 1:57 PM
  • Short Version :
    Delete your .ncb file
     
    Long Version :
    Lately, VC8 started to act very strangely, mouse was choppy, was irresponsive. I'm working on a solution consisting of 150 projects for a total of over 14000 source files (140 MB)
     
    I had the suspicion that it was because of Intellisense. Did some research, ended up on this thread only to find that prior to SP1 there was a lot of issues that are now fixed. There are still issues remaining however and there is no clean way to disable intellisense and you might not want that either because of the benefits.
     
    I found out that my Master.ncb file was over 250 MB! So when intellisense is trying to update it, it chokes. Solution was simple : delete the file and let it regenerate to a more appropriate size of around 50 MB.
     
    Here are couple things I find good to know :
    • Intellisense appears to stop generating the .ncb file when you are building or debugging.
    • If VC8 starts getting slow, delete your .ncb file : its getting too big.
    • Don't make it read-only because it probably means that VC8 generate it every time and put it in RAM instead, so you would take the initial .ncb generation hit everytime you open your solution.
    • When the .ncb file is relatively small or inexistent, Intellisense does kick in and update it but it runs in low priority and does not appear to affect the environment performance too much. For me, the problems arise when the .ncb file gets too big.

    Hope this help,
    Claude

    Wednesday, March 7, 2007 4:15 PM
  • I created a little console program to lock the ncb files in a folder.
    This will stop intellisense all together.
    Making the ncb read-only is only a short-term thing.

    Locking the ncb works great! No Intellisense updates ever!!!

    Tuesday, March 27, 2007 4:22 AM
  • Hey all, interesting that I keep this thread alive despite the fact that it has becoming a little embarassing for me. In any case, I tracked down the issue aroud serializing the NCB and we found out that our hotfix did *not* get ported to SP1 (blame the complexity of managing a release the size of VS). I'm currently working on re-releasing the fix for SP1 but in the meantime, you can check out the improved behavior in Orcas.
    Tuesday, April 3, 2007 12:52 AM
    Moderator
  • Lieber Herr Richter

     

    Vielen Dank für die gute Auskunft!

     

    Die Wiederaufbereitungsaktivitäten von Intellisense sind zu teuer zu verwenden. Waaaansinn!

     

    Das ist dem Intellisense Dev-Team scheinbar unbekannt. Mein Laptop schreit unter dem Last. Und meine Projekte sind nicht so groß.

     

    John

     

    Thanks for the post - it is very valuable. My machine grinds building the stuff, and since I edit in another editor the time spent building it completely wasted.  The other editor doesn't need to rebuild the entire tag information everytime you do a build. The code doesn't even need to completely build to build a tag file. SlickEdit rulez.

     

     

    Wednesday, April 11, 2007 10:35 AM
  • Funny how this question about disabling intellisense never gets answered. I have one question though, why is it so hard to have a check box to disable Intellisense for C++? I see that it exists for C#.
    I have other questions, but I do not want to digress.
    Let's see if this question gets answered in the next post from Microsoft reps.
    Monday, April 23, 2007 5:54 AM
  • Boris' following message from April 3rd was sorted in on page 7 of this thread, even though page 8 starts in February. So if anyone missed it:
     Boris Jabes wrote:
    Hey all, interesting that I keep this thread alive despite the fact that it has becoming a little embarassing for me. In any case, I tracked down the issue aroud serializing the NCB and we found out that our hotfix did *not* get ported to SP1 (blame the complexity of managing a release the size of VS). I'm currently working on re-releasing the fix for SP1 but in the meantime, you can check out the improved behavior in Orcas.


    Boris, any news on the re-release?

    Thursday, April 26, 2007 11:08 AM
  • Hey all, interesting that I keep this thread alive despite the fact that it has becoming a little embarassing for me. In any case, I tracked down the issue aroud serializing the NCB and we found out that our hotfix did *not* get ported to SP1 (blame the complexity of managing a release the size of VS). I'm currently working on re-releasing the fix for SP1 but in the meantime, you can check out the improved behavior in Orcas.

    This is huge news (that I admittedly missed when it was first posted) - can you please release an official hotfix for this?

    Wednesday, May 2, 2007 11:42 AM
  • Where can i find this hotfix?  Any idea on release date?  Thanks
    Thursday, May 24, 2007 5:18 PM
  • Me and my collegues look forward for a fix for single-cored machines. It's really a pain. Please keep this thread updated
    Thursday, June 7, 2007 7:22 AM
  • I have the exact same issues for a medium sized MFC project with Intellisense updating constantly and loading the CPU and disk. In order for Microsoft to pursue this matter seriously it would be beneficiary if everybody would vote for the bugs in Microsoft Connect related to this issue. See:

    https://connect.microsoft.com/VisualStudio/feedback/SearchResults.aspx?SearchQuery=intellisense

     

    For example:

    Active:

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=281821

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=101850

    Closed:

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=106180

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=241551

    https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=99658

    and others

     

    Note that many of these have been closed even though the bugs have not been fixed! So it might be necessary to create new bugs to get attention. 

     

    It is simple to register for connect when already having a Live ID.

     

    Thursday, June 7, 2007 10:17 AM
  • Wow, what a difference! Set the .ncb file to be readonly, launch VS2005SP1, say "no" to the "do you want to make it writeable" question. And voila! VS2005SP1 is now usable again!!!!

     

     

    Jim

    Sunday, June 10, 2007 1:04 PM
  • Many developers are telling about this solution, but unfortunately this is not a solution.

    If you make the NCB readonly, yes, you stop the intellisense, but you disable the form designer too. So it's a solution if your are developing a .NET object only, but if you are developing a WIndows Forms application it's useless.

    Monday, June 11, 2007 7:19 AM
  • Its very disappointing that after 8 pages or more of messages there is NO fix for this issue.

    Make ncb readonly is truely not the correct answer.

    This is so bad that I reverted on one of my machines to 2003 until MS gets a fix that works.

     

    Why would anyone allow 4 byte writes. Yeah thats right someone at MS thinks its OK to

    write 4 bytes at a time. 2005 intellisense is complete junk.

     

    Here we are MONTHS and MONTHS after this was

    reported with no fix. It would really help if MS fixed this.

    No wonder the Mac will be back.

    Tuesday, June 12, 2007 8:57 PM
  • Hi Bob and everyone else.

     

    It is unfortunate indeed. First of all, I'd like to apologize for not keeping up with this thread regularly, I really have no excuse on that one. Secondly, I'm going to try and address some of the issues that keep coming up here.

     

    - small-byte writes

    We do indeed serialize our NCB in very small chunks in VS2005 (including SP1), although we have changed this in VS2008. I orginally told everyone on this thread to try SP1, thinking that our fix had made it into SP1 but it turned out it didn't and I didn't find out until much later. Again, my apologies there. Writing files this way is a huge drain on the performance of flash disk as well as projects on network drives.

     

    - general performance

    I want to address 2 issues here: the NCB serialization and the general Intellisense performance. While it is poor practice to read/write files in 1,2, or 4 byte chunks, it does not have the negative impact on performance most of you believe it has. When dealing with files on a local disk (not flash and not network), the OS does its caching magic underneath and our change (to larger chunks) has no impact. Some have said that mapped IO is the way to go, but again in our case, that is not a good model because it has a negative impact on our memory (VS already pushes the limits of virtual address space as it is). Of course, your complaints are not fundamentally about small byte IO but about performance in general, which brings us to the second issue.

    The performance of C++ Intellisense and all associated features can be at times described as dismal. In order for any of our features to work, we need to have a complete NCB, which maps everything in a solution. Of course, we want to keep this NCB up-to-date, which requires parsing files and their dependencies (thus the horrible header file edit case). Pre-2005, we did not parse into core headers and just fed information out of pre-built files that would not match your current build options or #defines in your code. In the VS2005/2008 world, we find ourselves constantly reparsing the world to ensure we give accurate results for things like Intellisense or Find All References. This is costly and it is hard to figure out the right time to reparse, which brings everyone to ask for a "pause" button of some kind. Trust me, we've thought of this as well. It sounds like a simple thing but underneath the covers, we have a lot of (internal) clients for our NCB and they do not all support the semantics of a pause (in other words, we need to deal with locks etc...).

    Given all this, we opted to make uber-massive changes for our release after VS 2008 to address performance as the #1 issue. We made this decision because VS2008 was a short-term release where we needed to focus on enabling Vista development rather than rework our architecture/fundamentals. As you are all software developers, I am sure you understand that modifying the guts of a beast the size of Visual C++ is not something we can embark on lightly nor is it a matter of a couple of quick fixes.

     

    From this post and the huge amount of responders on this thread, I'd like to understand whether you would be well served/satisified with a change that would allow you to effectively pause any and all reparsing activity (with an understanding that dependent features like Intellisense and Go To Definition will become out of date) and thus become the "decider" of when we hog your CPU to reparse.

     

    Thanks,

    Wednesday, June 13, 2007 12:19 AM
    Moderator
  • I'm not sure about all of the causes of this issue, but as mentioned earlier in this thread, Visual Studio can become unresponsive while updating Intellisense if your C++ code contains a typedef within a namespace that references the global namespace (with "::").
    I see that two hotfixes were posted to this thread, but I've installed them and neither of them fix this problem.
    My workaround was simply to rewrite the code so this construct wasn't necessary, but I just thought I'd raise this again here since other people might be experiencing the same problem and this particular cause seems to have been forgotten in this thread.

    Wednesday, June 13, 2007 7:06 AM
  • As a software developer I know that is better to fix this problem know rather than in VS2008, first of all because I cant wait until 2009, secondly may be that VS2008 will fix this bug, but probbly will creat 10 more.

    It's incredible that this bug was not yet fixed, I start to suppose that there are really few VC++ developers in the world.

    I don't I have a big VS solution, it consists only of 8 VC++ projects, but designing a Windows Form is impossible: every time I modify a property of a control, "Updating intellisense..." appears on the status bar and I have to wait 5 minutes (I'm not joking). So, to create a complete form, it takes several hours!!!!!!!!!!!!!

    Obviously I can't work in this way, the "temporary" solution for me is to design forms by code, writing them directly in C++.

     

    You ask me if I want to pause Intellisense?

    I don't want Intellisense at all!!!!!

    I want to design forms graphically!

    I don't want to look my display for minutes with the CPU 100%!

    Having or not Intellisense, is the last of my problems!

    Wednesday, June 13, 2007 2:00 PM
  • I don't care much about pausing, as I don't see how this would solve the issue (I basically would have to keep it paused all the time). I'd rather see the basic issue fixed, i.e. the 2/4-byte writes. I have all project files on a network share and these writes impose a really massive speed penalty (I would be happy about Igor's 5 minutes).
    Wednesday, June 13, 2007 3:21 PM
  • Pre-2005, we did not parse into core headers and just fed information out of pre-built files that would not match your current build options or #defines in your code.

    Why can't we go back to this behavior (or even be able to turn this back on) as an option?   In so many cases this is "good enough" for a decent experience. 

    Wednesday, June 13, 2007 5:21 PM
  • This is getting silly ... why won't Microsoft fix this problem?

     

    I suggested to a MS developer they use memory-mapped files for the .ncb;

    he said it was impossible.  I don't have access to their code, so can't comment.

     

    But filemon shows this stupid program writing 2 bytes at a time into consecutive

    locations.  Forget buffered I/O ... coaelsce the I/O and fewer/bigger blocks.

     

    If this were any other Microsoft product, I wouldn't bother to comment.

    This is where developers live ... and they can't figure out how to diagnose and

    solve this problem?

     

    Yes, the IDE is bad enough in terms of responsiveness.

    My issue is that I frequently forget Studio is running, until my whole machine

    stops being responsive.

     

    Then I discover it's Studio Intellisense.  It's so bad, you cannot even Exit Studio;

    (Application is not responding).

     

    Will the Microsoft Amateurs please find another project to work on.

    Visual Studio is too important for you to ignore.

     

    I even removed all of the ClearCase source control info from my projects,

    thinking perhaps it was going to the network.  Nope.

     

    Even worse ... after IntelliSense completes (usually, when I delete the .ncb file),

    it starts running again all by itself ... with no changes whatever to the project.

     

    Who needs an IDE like this?  I'm going back to vi and cscope.

    Saturday, June 16, 2007 3:57 PM
  • I'm glad to see that performance is recognized as a major problem.

     

    As far as whether I would be well-served/satisfied with a pause feature?  If it's for a 2007 Service Pack coming soon, it might be sufficient.  If you're telling me it's for the 2008 release, I think the future of C++ development in Visual Studio is looking quite bleak.

     

    I hope Microsoft understands that many companies can't simply migrate to C# quickly and easily.  Imagine you're a developer that works in both C# and C++ (I am such a developer)... the C# experience is so much better that the C++ experience becomes a huge headache to deal with.  The reality is, the C++ isn't going away anytime soon, at my company.

     

    I understand its a tough problem when you want 100% up-to-date intellisense.  If there's no reasonable way to make that work quickly, then I think people would rather have quick intellisense that isn't always up-to-date, than a very slow intellisense that is.

     

    Thanks for keeping everyone informed, and good luck with the issue.

    Monday, June 18, 2007 10:58 PM
  • I second that.

     

    I kind of suspected perfectionism would turn out to be the cause of Intellisense being so much worse in VS2005. Being a developer, I know that sometimes you long to perfect some feature or other which doesn't quite deliver all the right results all of the time. So you perfect it, but it turns out that you made everything slower, or more awkward, or just worse for the user in the process. So everybody's screaming for you to put things back the way they were. Nobody cares about perfecting the feature.

     

    In short, the cure is worse than the disease.

     

    Now we're screwed because Microsoft doesn't want to risk breaking VS2005 by massively re-engineering Intellisense, yet we don't want to (or can't) go back to older versions. VS2008 may not be out till next year. I'm really glad that I don't have to work in VS2005 all that much (yet), because its all-performance is so awful it makes development painful. I long to get away from it and go back to VS6. I require snappy performance, and "snappy" has been erased from Microsoft's dictionary, I think.

     

    I wonder: how could this not have been caught in the beta phase? Or previously? Or was it caught and then ignored?

     

    I sincerely hope VS2008 will be worth the wait. In particular, I would like Intellisense to *work* as well as stop hogging the CPU. Static functions seem to utterly confuse it, whereas they worked fine in VS6. This screws all my singletons. I'm not happy. And that's only the beginning of my hate-list.

    Tuesday, June 19, 2007 2:28 PM
  • David, it's my understanding that VC2008 will not contain any major improvements to Intellisense.  The only thing I'm aware of them including is the fix for the serialization of the NCB which was missed in VC2005 SP1.  The major changes in Intellisense will come (I believe) in 2010/11 version.

     

     

    Tuesday, June 19, 2007 7:13 PM
  • Well what on earth *will* be in VC2008? Yeah, don't tell me: more new features.

    Is five-six years now the Microsoft response time for fixing a bug?

    It's all enough to drive a man insane. I'll seriously have to consider back-porting to VS2003, because VS2005 is really unusable. But on the other hand I really need the Vista compatibility.

    I do wonder though whether everyone else is experiencing *quite* as much sluggishness in the class view as I am, because it's so bad I can't believe anybody uses it. I find I can't code while the class view is selected, because it constantly stops to refresh the class tree *as I type* (talk about overkill). So I have to switch to Solution Explorer and hunt around in the cpp's and h's, and then use the function drop-down. It's the lesser evil, but *much* slower than the old class view.

    Intellisense is also virtually useless because it seems to lose the plot as soon I start coding. Quite often, everything has to be perfectly compiled for it respond at all. It draws a complete blank on static functions, compiled or not.

    Is it *this* bad for everyone else?
    Wednesday, June 20, 2007 12:07 AM
  • Yes, I'd say it is this bad for everyone else.  It certainly is for us.

     

    Although I never use class view (that's more a personal preference than anything else) I find the general performance of VS2005 to be piss poor at the best of times, and downright unusable at others.  I still use VS2003 at home (despite the recent service pack introducing some glaringly stupid performance killing bugs of its own) and compared to having to use VS2005 at work, it's a dream.  (Don't get me wrong, it's nowhere close to VC6 for performance but obviously nothing that uses .Net ever will be.)

     

    I remember back in the early days of Developer Studio, and the first iterations of Visual Studio the VC team used to proudly proclaim that they used Dev Studio before we did.  I don't recall that claim being bandied around much since the first version of VS.Net came out.  If everyone on the VS team was forced to use their own product for their daily development these bugs would never have seen the light of day.

     

    I guess we have to face the facts that Microsoft really don't care about C++ developers anymore.  C# is the future (for this week) and worrying about anything else isn't worth the effort in the long term.  Well, I'm never going to switch to C#/.Net as my primary development language/platform, and I don't think I'll ever waste money on another version of Visual Studio.

    Wednesday, June 20, 2007 5:48 AM
  • David, I looked at VS2008 (Orcas) Beta 1 and this is feature complete as far as I know.  They added: some new templates for marshalling, STL/CLR, new Vista and missing XP controls wrapped in MFC and dialog editor, Vista UAC manifest support, multiprocessing switch (/MP) in compiler,  class designer (viewer only), and they removed all Windows 9x support in libraries.

     

    Most if not all of this is public info on the channel9 videos, the rest can be found in the Beta itself.

     

    and Def, I disagree with the statement that Microsoft doesn't care about C++ developers.  On the contrary, read Bill Dunlap's statement on product direction here: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1032378&SiteID=1

     

     

    Wednesday, June 20, 2007 2:18 PM
  • I've been watching this thread for the past few days and I sense all the frustration people are having with IntelliSense on the thread. I totally understand why something like this can drive people insane. I also feel that people feel that they're banging their heads against a wall here with no one listening and I just want to assure you that this is certainly not the case.

     

    I'd like to share a few comments:

    1. We hear your feedback loud and clear: IntelliSense performance is unacceptable and you'd like to see that fixed sooner than later.

    2. We believe our current architecture can be fixed to allow an "acceptable" experience but is certainly a long ways from providing a good or ideal experience.

    3. We have long term work that is currently in progress to provide an excellent experience once and for all in the relese right after VS2008. This work has already started and we're already seeing some promising results. We're dedicating a significant portion of our team to do this and it certainly was at the expense of adding more "features" to VS2008. We believe that this is the right trade-off as this is exactly what we hear from you: fix your issues before adding more features.

    4.We understand that the long-term work does not help you today and that you don't want to wait two more years before you start seeing hints of a real fix. Consequently, we are committed to fixing issues that make IntelliSense usage plain unusable. We believe we can make it at least "acceptable" for now until you get the real thing in a few years. So what are we doing in this regard?

         a) VS2005 SP1 had a fix to lower the priority of the IntelliSense parser. This still has IntelliSense using 100% CPU until your whole project is parsed. However, it is only done when you're "idling". You'll continue to see "Updating IntelliSense..." for a long period of time but at least it should not block your VS process from being interactive.

         b) We worked with individual customers reporting IntelliSense problems that caused infinte reparses (an "Updating IntelliSense..." that would never go away) and fixed those issues in QFEs and in VS2008.

         c) We are fixing bugs that cause UI locking due to IntelliSense and will continue to fix those as they get discovered in VS2008.

         d) We're open to working with customers that report IntelliSense issues that merely block them from interacting with VS and issue QFEs for those on VS2005.

         e) We fixed the "write one byte at a time" bug in VS2008 and are ready to release it as a QFE for VS2005. A word of warning, though, is that we really don't think this improves IntelliSense performance except in cases where sources lie on a network or USB drive.

     

    Again, our main goal here is to provide an excellent experience in the next release after VS2008 and to provide some form of relief until then. We certainly do not intend to "just let people suffer" for the next few years.

     

    Thanks.

    Wednesday, June 20, 2007 6:00 PM
  •  Tarek Madkour MS wrote:

    a) VS2005 SP1 had a fix to lower the priority of the IntelliSense parser. This still has IntelliSense using 100% CPU until your whole project is parsed. However, it is only done when you're "idling". You'll continue to see "Updating IntelliSense..." for a long period of time but at least it should not block your VS process from being interactive.


    Not very helpful if you have VS2005 running in a virtual machine, though, as the host system will still be affected by it.


    e) We fixed the "write one byte at a time" bug in VS2008 and are ready to release it as a QFE for VS2005. A word of warning, though, is that we really don't think this improves IntelliSense performance except in cases where sources lie on a network or USB drive.


    Great, exactly my situation. When you say "ready", does this mean that we will see this released before, say, the end of the month?
    Wednesday, June 20, 2007 7:52 PM
  •  Tarek Madkour MS wrote:

    Again, our main goal here is to provide an excellent experience in the next release after VS2008 and to provide some form of relief until then. We certainly do not intend to "just let people suffer" for the next few years.

    Thanks.


    Thanks, Tarek. I for one needed to hear that.

     Tarek Madkour MS wrote:

    c) We are fixing bugs that cause UI locking due to IntelliSense and will continue to fix those as they get discovered in VS2008.

    d) We're open to working with customers that report IntelliSense issues that merely block them from interacting with VS and issue QFEs for those on VS2005.



    Would this include the frenetic updating of Intellisense that seems to happen when the ClassView tab is selected? That has to be one of my major complaints. Is this a problem that has already been identified, or would it help to open a bug on Connect?
    Wednesday, June 20, 2007 9:01 PM
  •  Ted. wrote:

    David, I looked at VS2008 (Orcas) Beta 1 and this is feature complete as far as I know. They added: some new templates for marshalling, STL/CLR, new Vista and missing XP controls wrapped in MFC and dialog editor, Vista UAC manifest support, multiprocessing switch (/MP) in compiler, class designer (viewer only), and they removed all Windows 9x support in libraries.



    Ted: Thanks for the info. Maybe we can make some progress along the lines Tarek has indicated. Fingers crossed.
    Wednesday, June 20, 2007 9:08 PM
  • >> e) We fixed the "write one byte at a time" bug in VS2008 and are ready to release it as a QFE for VS2005. A word of warning, though, is that we really don't think this improves IntelliSense performance except in cases where sources lie on a network or USB drive.


    > Great, exactly my situation. When you say "ready", does this mean that we will see this released before, say, the end of the month?

     

    When I say ready, I mean it's ready for a customer to request it and we'll provide the fix. We found two customers that asked for the fix already and when we presented them with it they found that it didn't really make things as fast as they were expecting it to be. However, both of those customers did not use USB or network drives. If you do, please contact me at tarekm at microsoft dot com and I'll be happy to start the QFE process for you. By requesting this QFE, you'll also make it available to everyone else. Starting a QFE without a customer specifically requesting it is an uphill battle here at Microsoft Sad

     

    I'll be waiting for your email.

     

    Thanks.

    Thursday, June 21, 2007 12:39 AM
  • > Would this include the frenetic updating of Intellisense that seems to happen when the ClassView tab is selected? That has to be one of my major complaints. Is this a problem that has already been identified, or would it help to open a bug on Connect?

     

    I'm not aware of this particular issue and it does not ring any bells with me. Can you elaborate on what happens when ClassView is open that doesn't happen when it's not open? If you can narrow the issue down to a small repro project then we can definitely get very good traction on it using connect.

     

    Thanks.

    Thursday, June 21, 2007 12:43 AM
  •  Tarek Madkour MS wrote:

    > Would this include the frenetic updating of Intellisense that seems to happen when the ClassView tab is selected? That has to be one of my major complaints. Is this a problem that has already been identified, or would it help to open a bug on Connect?

    I'm not aware of this particular issue and it does not ring any bells with me. Can you elaborate on what happens when ClassView is open that doesn't happen when it's not open? If you can narrow the issue down to a small repro project then we can definitely get very good traction on it using connect.

    Thanks.



    What happens is, when the ClassView tab is selected (as opposed to solution explorer), everything becomes extremely slow (as I type, Visual Studio keeps freezing and ClassView redraws as it refreshes.)

    I can try to put together a test project to demonstrate it. I'll see if I have time tomorrow or next week.
    Friday, June 22, 2007 1:08 AM
  • > What happens is, when the ClassView tab is selected (as opposed to solution explorer),

    > everything becomes extremely slow (as I type, Visual Studio keeps freezing and ClassView redraws as it refreshes.)

    > I can try to put together a test project to demonstrate it. I'll see if I have time tomorrow or next week.

     

    That would be great. Thanks.

    Monday, June 25, 2007 6:22 PM
  • I have read this thread and see no reason to continue to reply.

    You would think that with this many pages of replies you would realize this is a BIG deal and needs a fix now.

    Telling us about your problems, wait VS2008 will be great is just sad.

     

     

    >- general performance

    >I want to address 2 issues here: the NCB serialization and the general Intellisense performance. While it is poor

    >practice  to read/write files in 1,2, or 4 byte chunks, it does not have the negative impact on performance most of you 

    >believe it has. When dealing with files on a local disk (not flash and not network), the OS does its caching magic 

    >underneath and our change (to larger chunks) has no impact.

     

    Complete and utter nonsense. I dont think you are lieing intentionally but you have to deal with disks that get fragmented

    before you make such a whacky statement. Fragmentation increases the number of seeks and at 8ms to 15ms per 

    seek it has a HUGE impact on performance. Since the NCB file itself must be written to and seeked in  to replace things

    what you are saying doesnt make sense. My NCB is only 25MB to 100MB in size.

    GEEZ VirtualAlloc and stick it in Ram if you have to access it so constantly.

     

    Ths OS has NO good tuning for writing. It just doesnt.  It has no guideline to wait until there is 100K in

    the buffer to then start writeing. It writes when it can. And that may be the wrong time for you which is just POOR

    design. Anyone that has dealt with time sensitve coding issues to allow for the OS to decide when to flush a

    buffer is not right. You never rely on the outside cacheing and no one would ever write out in 2 or 4byte chunks its just 

    SLOPPY.

     

    In the real world and in practice the Intellisense will be stop you from working on a 2.8Ghz machine with

    1GB of ram from the hard drive. Just swtich tween a couple of medium sized projects after you made a change

    and see what you are waiting for. 2005 is slow to swtich projects and causes constat pauses with the words

    Intellisense updating in the bar. Sorry this is even when working from a hard drive! 

    So this statement is just NOT true. I mentioned this when I filed my trouble ticket. Deaf ears I guess or just hearing what

    you want to hear.

    FYI The pauses are SO bad I have a developer that refuses to work on .NET projects. He only works in VS 6.x

    He has a 3Ghz PIV with 1GB of ram.

     

    >Some have said that mapped IO is the way to go, but again in our case, that is not a good model because it has a

    > negative impact on our memory (VS already pushes the limits of virtual address space as it is).

    HOW can a glorified text editor with built in Intellisense push the limits of 1G to 2G machines?

    What kind of memory management for code do you have there? I think you all need to reexamine garbage

    collection and what not.

    I have written code for realtime video editing and mixing with huge image buffers and never get close to that.

     

    >The performance of C++ Intellisense and all associated features can be at times described as dismal.

    <snip> 

    Yes this is like telling us its hard. I think a lot of us can agree software is complex. Next..

     

     

    >From this post and the huge amount of responders on this thread, I'd like to understand whether you would be well

    >served/satisified with a change that would allow you to effectively pause any and all reparsing activity (with an

    >understanding that dependent features like Intellisense and Go To Definition will become out of date) and thus become

    >the "decider" of when we hog your CPU to reparse.

    You just need to ram cash and Flush periodically when the project is closed. No?

    A better suggestion would be to have 2 caches. A .NET .lib symbol cache which can be on the hard disk and the

    code from the use which can reside in Ram.

    Just a free suggestion.

    Until you have a fix IMO VS2005 is broken and needs to be treated as such.

    Without Intellisense how much better is it than VS 6?

    Least the debugger is faster in VS6.

    Speed isnt even a thought with MS guys eh?

     

     

      I will review notes from the WWDC. Wink

     

    Wednesday, June 27, 2007 5:09 PM
  • To someone at Microsoft who wants to make a positive difference today:

    Please add a checkbox to disable Intellisense and post a hotfix for it.

    Extra credit:  put up a one-time dialog box asking if the user would like to disable IntelliSense, which has been known to cause performance issues.

    When you are done, you may then spend months trying to figure out how and when IntelliSense will be fixed.

    Thank you.

    Thursday, June 28, 2007 4:15 PM
  • This thread has 60,671 views.

    Ya think this is a LARGE enough issue for MS to take notice?

     

    Bob

    Thursday, June 28, 2007 5:34 PM
  • Please add a checkbox to disable Intellisense and post a hotfix for it.
    Monday, July 2, 2007 5:03 PM
  • I lurk around these boards and the open support system, and thought I would also share my thoughts on your post from the perspective of being a long time Visual Studio and Microsoft customer:

     

    a) This effect is not perceptible.  Perceived Intellisense behavior is unchanged with SP1, and no developer at our site has noticed any non-trivial performance improvement.  Also, I think some posts in this very thread reflect this as well.

     

    b+d) Working with individual customers and releasing hotfixes only when customers demonstrate to your satisfaction that we are experiencing a legitimate problem offloads the burden onto us in multiple unacceptable ways:

     

    *  First we actually experience time lost due to said defect when we are not aware a fix exists.

     

    *  Then we lose time isolating and building test cases for your support staff to review that illustrate that a problem does in fact exist in your product.

     

    *  Lastly we have to spend our own time running around communicating with your representatives that frequently involve issues being prematurely resolved without our approval or confirmation.  The exception to this in my experience is when we pay for a support incident, which is even costlier because there is direct monetary cost to us.

     

    These costs are unacceptable and make it frustrating to decide if its worth expending our own energy meeting your burden of proof, or to decide to deal with the engineering flaws in your product on a day to day basis effectively paying the price in developer quality-of-experience.

     

    c+e) I have yet to hear a legitimate argument for not continuing to merge source-level hotfixes to your product and building service releases.  Making service releases is something that all of us as a diciplined software engineers deal with every day so I see no reason to make an exception for you.  Making statements like "our main goal here is to provide an excellent experience in the next release after VS2008" does not help the situation.  When exactly is that release coming out?  You can't even answer that question, so don't wield it as a resolution to our suffering.  Making us pay hundreds of dollars per seat for VS2008+ just to obtain fixes from current major revisions that obviously suffer from engineering flaws is not a good way to keep customers.

     

    Your philosophical approach to relating to your customers in an adversarial fashion when it comes to hotfixes has development houses like us that license 35+ seats of your product actively evaluating alternative solutions to the problems your product attempts to solve.

     

    As for this specific intellisense issue: In my opinion, a good option would be to build this intellisense information at compile time.  It would seem that any work that goes to preventing NCB-dependent subsystems is a smart move on your part, as it keeps our options as customers open to using or not using specific features in your application.  Note that I can't speak regarding features that integrate with the .NET framework, as we backed out of the mistake of depending on that technology long ago, and just seek a reliable and feature rich C++ development environment in Visual Studio.

     

    Best regards

    Tuesday, July 3, 2007 9:57 PM
  • Thanks for the feedback on our plan, Geoff and everyone else who responded to my earlier post.

     

    The intention is definitely not to offload the burden onto our customer. I understand how it can be perceived this way, though. The real challenge we're facing with IntelliSense is that problems don't show for all customers or for all codebases. This makes it incredibly hard for us to reproduce the issues in-house. Additionally, the architecture of the component is complex enough that a code or architecture review would be a very expensive proposition with no result guarantees. We would have no way of verifying that we fixed the problem without releasing the "fixes" to customers and hoping that it works.

     

    This was probably a very long preamble to what I really want to mention here. So, enough talking about our own internal challenges and let's talk about how we'll fix the IntelliSense problem.

     

    We heard your feedback and we decided to spend some of our team resources for about a month starting early August to investigate the IntelliSense performance in VS2005 once more and try to make it work. The one important thing to note here is that we don't want this to be an SP1-like approach where we "fixed it", "released it" then discovered it didn't really fix it for a lot of our customers. Consequently, we'll try the approach of testing it with customer volunteers before we release it.

     

    To this effect, we'd like five volunteers from people who responded to this thread who are willing to "beta test" our fixes and sign-off on them for release as a QFE (and eventually get rolled into the next SP). The goal of the fixes would be to improve IntelliSense peformance but would not aim at fixing any IntelliSense "correctness" issues. The volunteers would need to be willing to get regular (maybe weekly or every few days) updates for some of the VS2005 binaries and try them out on their source bases and provide feedback on whether they have noticed any improvements.

     

    If you're interested in being a volunteer, please email me at tarekm at microsoft dot com and include some information about the size of your source base (LOC, # projects, # solutions) and anything else that you feel is unique. We'll select five volunteers and proceed with the plan to use their help in fixing this problem once and for all.

     

    Once more, I want to re-iterate that we do listen and we do very deeply care. As always, your feedback is welcome.

     

    Thanks.

    Friday, July 6, 2007 6:19 PM
  • [I'm reposting the same response I posted a few days ago that somehow due to some forum strangeness ended up in the middle of the thread not at the end of it! Here's the response below once more]

     

    Thanks for the feedback on our plan, Geoff and everyone else who responded to my earlier post.

     

    The intention is definitely not to offload the burden onto our customer. I understand how it can be perceived this way, though. The real challenge we're facing with IntelliSense is that problems don't show for all customers or for all codebases. This makes it incredibly hard for us to reproduce the issues in-house. Additionally, the architecture of the component is complex enough that a code or architecture review would be a very expensive proposition with no result guarantees. We would have no way of verifying that we fixed the problem without releasing the "fixes" to customers and hoping that it works.

     

    This was probably a very long preamble to what I really want to mention here. So, enough talking about our own internal challenges and let's talk about how we'll fix the IntelliSense problem.

     

    We heard your feedback and we decided to spend some of our team resources for about a month starting early August to investigate the IntelliSense performance in VS2005 once more and try to make it work. The one important thing to note here is that we don't want this to be an SP1-like approach where we "fixed it", "released it" then discovered it didn't really fix it for a lot of our customers. Consequently, we'll try the approach of testing it with customer volunteers before we release it.

     

    To this effect, we'd like five volunteers from people who responded to this thread who are willing to "beta test" our fixes and sign-off on them for release as a QFE (and eventually get rolled into the next SP). The goal of the fixes would be to improve IntelliSense peformance but would not aim at fixing any IntelliSense "correctness" issues. The volunteers would need to be willing to get regular (maybe weekly or every few days) updates for some of the VS2005 binaries and try them out on their source bases and provide feedback on whether they have noticed any improvements.

     

    If you're interested in being a volunteer, please email me at tarekm at microsoft dot com and include some information about the size of your source base (LOC, # projects, # solutions) and anything else that you feel is unique. We'll select five volunteers and proceed with the plan to use their help in fixing this problem once and for all.

     

    Once more, I want to re-iterate that we do listen and we do very deeply care. As always, your feedback is welcome.

     

    Thanks.

    Tuesday, July 10, 2007 5:20 PM
  • I noticed my reply showed up in the middle of the thead as well.  Bizzare.

     

    Some of our apps are responsible for parsing broad swaths of source code like I am sure Intellisense must, so we know some of the pain you are talking about.  We make good use of the remote debugging capabilities of visual studio when we find ourself with no easy way to repro problems from a development box.  We also occasionaly make release builds with optimizations turned off to affect easier debugging on a remote box (to restore culled locals, etc...).

     

    I am really, really excited to hear that there will possibly be another SP for 2005 Smile  I will poll around some of our developers and try to get a candidate in for your beta.

     

    Off the top of my head, some other top issues that we suffer here involve a greedy, blocking "Updating Pending Checkins..." thread that seems O(n) over the number of files checked out.  This is troublesome when working with solutions with more than 100 or 150 projects in it.  And we have an elusive issue with "Clean Only" and "Rebuild Only" going into limbo and pegging the CPU for 5-30 minutes on end.  I know this is no forum to really discuss these off-topic issues but I thought it couldn't hurt to share since we have your attention.  I will drop some tickets for these.  This kind of stuff should go through your "Microsoft Connect" site for Visual Studio and .NET support, right?.  Just want to make sure I am going through the right channels.  I have had some sketchy correspondence in there before, but am always willing to try again.  Whatever it takes to get the fixes we need Smile

     

    Thanks for listening!

     

    Cheers!

    Tuesday, July 10, 2007 6:20 PM
  • > I am really, really excited to hear that there will possibly be another SP for 2005

     

    I know that we have sent a bad precedent with VS2002 and VS2003 SPs in the past. We clearly heard the feedback loud and clear about that and that's why we shipped VS2005 SP1 earlier than we did for VS2002 and VS2003. I'm not promising an SP2 for VS2005 because I know that it is not my decision to make. However, I definitely know that future SPs for VS2005 are not ruled out.

     

    > Off the top of my head, some other top issues that we suffer here involve a greedy, blocking "Updating Pending Checkins..." thread that seems O(n) over the number of files checked out.  This is troublesome when working with solutions with more than 100 or 150 projects in it.  And we have an elusive issue with "Clean Only" and "Rebuild Only" going into limbo and pegging the CPU for 5-30 minutes on end.  I know this is no forum to really discuss these off-topic issues but I thought it couldn't hurt to share since we have your attention.  I will drop some tickets for these.  This kind of stuff should go through your "Microsoft Connect" site for Visual Studio and .NET support, right?.  Just want to make sure I am going through the right channels. 

     

    Yes, the Connect website and Microsoft Product support are the right channels to get such issues investigated.

     

    Thanks,

    Tuesday, July 10, 2007 7:24 PM
  • I concur and experience same issues on a daily basis, with all posts made to this thread, that IntelliSense not only pegs the CPU at 100%, but prevents VS from being shut down while the IntelliSense thread is running. My system is 2.0 GHz Pentium M single-core CPU, 1.2 GB RAM.

     

    But I will add two new issues related to this problem that I have not seen anyone mention yet.

     

    Quite often while IntelliSense is parsing source files, it prevents me from saving files and/or building/running the code! Unbelievably, when saving files in the editor, I get a thread error stating that the file is in use by another thread. This is a mutex lock problem. I find it unbelievable that IntelliSense is putting a mutex lock on a file that I'm currently editing.

     

    SP1 doesn't seem to be backwards compatible with pre-SP1 object files. When I work on code at home, via SP1, and then take the project to work on a portable drive, the pre-SP1 Visual C++ 2005 at work complains, so I have to do a complete rebuild. Now, this is only the most obvious problem. The indirect result of this change to object file format is that old library files will no longer link with SP1!

     

    I have a theory as to why work has stopped on VS2005 bugs. The Visual Studio team is plagued with Vista support issues, and is now in the middle of developing Visual Studio 2008. 

     

    [Edit]: After installing the two updates provided by Boris, I noticed a significant improvement in response time and performance. I opened up several multi-project solutions, edited all of the header files, opened up cpp files, and IntelliSense is still working ,but I no longer see the "Updating..." message in the statusbar. I let it sit for 10 minutes, and still did not see the message, or any CPU pegging. I am satisfied with this fix (but still unhappy about losing binary backwards compatibility).

     

    Saturday, July 14, 2007 4:32 PM
  •  SkolVikingsGuy wrote:
    I just installed SP1 and this "Updating Intellisense..." started happening.   That's lead me to this long thread and it sounds like there's no solution at this point.  Is that correct?  I'm going to turn off intellisense either through the IDE or by renaming that dll, but that's a bit frustrating.  P.S. - I attempted to get the hotfix for this but MS support web page kept saying my product ID number is invalid.  Frustrating ordeal.

     

    I just installed the two updates today and had no problems downloading or installing, and notice immediately that VS2005 is more responsive and the "Updating Intellisense" is no longer coming up. I'm using a single-core 2.0GHz Pentium M system, which is about as bottom of the line as you can get. I'm running Windows XP, and will probably never upgrade to Vista. (I used Win2k up until last year if that's any indication of my adoptive tendencies Smile.

     

    I'm not defending MS, just being honest.  It improved my copy of VS2005 SP1.  Perhaps after a week it will begin to degrade again, I don't know.

    Saturday, July 14, 2007 4:57 PM
  •  Def wrote:

    I guess we have to face the facts that Microsoft really don't care about C++ developers anymore.  C# is the future (for this week) and worrying about anything else isn't worth the effort in the long term.  Well, I'm never going to switch to C#/.Net as my primary development language/platform, and I don't think I'll ever waste money on another version of Visual Studio.

     

     

    If MS gives up on Visual C++ in favor of C#, that will give competitors like Borland the opening they've been looking for. I would welcome the return of competition in the compiler market. This crappy VS2005 is a result of no competition. It's like a government compiler, or like something IBM put out in the 80s.

     

    I was very disturbed to learn that unmanaged Visual C++ executables require the .NET Framework to run. I see no logical reason for this when .NET is not being used.  This may be a sign of future plans. IMO, Visual C++ will have to be removed and distributed separately from the .NET languages due to compatibiltiy problems we're just now starting to see, but which will become a huge problem in the next iteration.

     

    Boris' last post confirms my previous message. The Visual Studio team is too busy frantically trying to support that huge piece of garbage, Windows Vista, while also working on the bug-fix release called VS2008.  Instead of just providing additional solid performance improvements and bug fixes, a new "version" is being prepped. It's like VS2002-2003 all over again. Will VS2008 also be a $30 upgrade? Because that is all it will be worth.

     

    Saturday, July 14, 2007 5:24 PM
  •  Tarek Madkour MS wrote:

    I know that we have sent a bad precedent with VS2002 and VS2003 SPs in the past. We clearly heard the feedback loud and clear about that and that's why we shipped VS2005 SP1 earlier than we did for VS2002 and VS2003. I'm not promising an SP2 for VS2005 because I know that it is not my decision to make. However, I definitely know that future SPs for VS2005 are not ruled out.

     

    Mr. Madkour, thank you for taking the time to address the problems with VS2005. I hope your initiative to perform some testing with volunteers this summer works out, mis-placed as that endeavor is.

     

    Due to the existence of the IntelliSense bug in the first place, and based on your comments here, it seems very strange that the Visual Studio team does not employ an internal QA team to test the software before major releases. I believe (unsubstantiated as it may be) that Microsoft has become so used to "fans" willing to waste hundreds of hours of their personal time providing Microsoft with free quality assurance testing, that perhaps it has been adopted as the de facto method of testing all MS products. I gave up on beta-testing software for Microsoft many years ago when I recommended to my dept mgr that we cancel our MSDN memberships. Why? It is unbelievable to me, to the degree that it blows my mind, trying to imagine why customers are so willing to gobble up junk that doesn't work, provide free evaluation, and undergo much time-consuming work just to get a "sneak peak" at something new. Unbelievable!

     

    Are customers so desperate for the next big thing that they've become obsessed with new software? Why anyone would be willing to install a beta operating system or dev tool is beyond me. The quality control problems with MS software may be a result of relying on customers to perform QA testing. This also leads to a bad attitude toward customers because Microsoft employees see them as foolish fans who will put up with crappy software, 1) Because they are fan-boys, and 2) Because there are no alternatives.

     

     As the lead program manager for Visual C++, one would expect decisions (like the release of bug fixes) to be yours to make. But passing the responsibility is what big-corporate politics are all about.

     

    Saturday, July 14, 2007 5:51 PM
  • I was able to dwonload the Express stuff at home and get it installed without any problems. I unistalled my VB.NET 2003 components first. Now, I would like to experiment with it at work. I have XP/2 with VB6 Pro and SQL Server 2000.
    Thursday, July 19, 2007 9:30 PM
  • I am using the recent Orcas March 2007 Beta...and I am getting this same problem. Updating IntelliSense...and 0% cpu...it just goes forever...2 c++ projects

     

    It was working fine, nothing really special has changed about my project...I added a new method, and bang...it stopped working...

     

     

    Saturday, July 21, 2007 11:42 PM
  • Well,

    I came back to the thread to cause I have some time today.

    Its end of July. Is the team warming up for the August fix?

     

    Watcom and Borland are truely missed. Too bad ActiveX was too

    hard for Borland to implement back in the day. It kind of

    killed that complier.

    It does seem time for a comeback of something like codewarior for the PC.

    It compiled cross platform C++. GEE ya think thats first on the MS adgenda?

     

    Attitude of MS has truely turned into the IBM of the 80's.

    Ya know that when the head of the C++ team cant even tell you if there

    will be a SP or not. Guess a bean counter has to decide.

     

    Wonder what they say at development conferences? Buy MS the slowest

    C++ envoirnment on the planet?

     

    Far as seeing if the patch works, just copy your project to a USB II Flash drive.

    Watch the write LED light. Put your project on a network. See how that goes.

     

    You will know without question if your patch works. You dont need testers.

    Me.. I have better things to do than waste my time. I ALREADY did when I

    filled in my trouble ticket. Nough of my time wasted.

     

    See the words "Cant" from the Dev team is the software equivalent of "Wont"

    I am sadly disappointed that a company as large as MS cant even make a

    decent code enovirnment anymore.

    .NET SPEED and overall performance is truely depressing from the development tools

    to the code it generates.

     

    Far as why not switch.. I work on calculations engines now. .NET doesnt really help make

    calcs faster. C++, STL and some assembly makes my users lifes better.

     

    If MS was thinking about its users (us the developers) this Intellisense thread

    would not be 11 pages long with over 60,000 views.

    I am willing to give you guys one more chance before I start looking for alternatives.

    Words from MS are cheap. I feel your pain as well, so what. Where's the beef..

     

    bob

    Thursday, July 26, 2007 4:09 PM
  • Ok guys... I'm sure many people are reading this topic but not many replying just because they don't have enough time. I'll share my experience. Our company probably has thousands of licenses for visual studio worldwide. More over, our stations have both 2005 and 2003 installed. And I'm sure nobody out of this huge crowd ever complained about that problem making MS believe that this problem occurs in 25% of cases or whatever. I'll tell you that it occurs to everybody in our company. Every single person (who uses vs2005 off course) has this problem, every. EVERY!!! Not 25, not 50%... I think that vs2005 only works well for students with their tiny projects. Among all the many ppl who I work with just a few people tried to resolve that updating intellisense problem (they use fu****.dll fix). When I was working with ppl from other countries/companie many of them some how mentioned similar problems (for ex. I'm sending solution/fixes to a test lab and ppl follow my derections over the phone and they say that "opened solution ... everything is frozen, there's updating intellisense sign..." and I say to them, it's ok, it's normal Smile
    I'm not sure what's wrong with ms, certainly there are ppl capable of doing this job well, but it seems that now there are mostly scrum meeting gurus and nobody to actually do the coding... that's the only excuse. How come a text editor sometimes takes tons of ram, freezes all the time, unacceptably unresponsive?!? Personally, I just don't see any alternative to VS now and this is my favorite c++ dev env. So, I really hope that VS get's better asap, so that I could be more productive and could enjoy what I do (instead of constatnly getting irritated and pissed off).
    So... first of all, I really hope that a new competing IDE born (this will surely speed up all the bugfixes), perhaps intel has such plans - they have one of the best compilers after all. The other my wishes is that VS team focuses on editor performance and not that *** aimed on beginning programmers to attract them with candies. By editor performance I mean it has to be as responsive as notepad, no way less!!!! It must be and it can be, after all this is a tool that is used by professional developers. All basic functionality (find/replace in text/files, record/execute macro) have to be really thought out and working perfectly (just compare serch text of Firefox and visual studio... at least it's better in 2005 than in vs6, but marco is TOOO slow, I can type faster on my own). If we, the developers, weren't used to these crapy IDE's (vs2003, 2005, ...) then we would consider it a bug when ide becomes unresponsive for a couple of seconds... but we all are so used to that so we even don't complain about these problems anymore. Intellisense is almost the only reason I choose VS over the others... I really wish I was employed by ms and put on this project with a few of my coworkers so that this thing could be usable, the way I want it to be.
    And oh yes... I'm not going to tell what kind of projects I'm dealing with... it just happens randomly and I had it with many different projects! Occasionally there is some sort of consistency at least in this weird problem, so I'm used to it, and I'm used to this pice of *** IDE: I regularly delete ncb files, I NEVER close it properly (always kill it, don't want to wait), whenever there's complete disaster problem I use f**kup.dll fix or make ncb file readonly (in case if devenv starts to eat ram when started).

    Overall, I rate intellisense problem as highly important. It's a showstopper.
    Thursday, August 2, 2007 12:06 AM
  • Well, the end is near.  I did as requested (sent email to tarekm), opened in incident on the issue (free). This got the resources allocated in MS to do the work. They provided me a DLL on July 26th which fixed the problem (for me at least).  No more long waits for Intellisense to update with projects stored on network drives.    My experinece in working with "large" companies, complaining in forums (even ones provided by the company) doesn't get things done. You have to open an incident with them (and the more people that do this the better). That is where management looks to see where resources need to be allocated.  MS isn't the only company I've delt with that posting in the forums didn't get things fixed, opening an incident did.

     

    James

    Thursday, August 2, 2007 1:09 PM
  • James,

    Can you give us the name of the hotfix ? I also just filed an incident and was sent hotfix "NDP20-KB917452-X86.exe", which seems to be for VisualBasic. Furthermore, the KB says that it is included in SP1. However, I'm using C++, C++/CLI and C
    Thursday, August 2, 2007 3:09 PM
  • No clue what the name of the hotfix is. They just sent me the one DLL that was needed and instructions of where to put it. Since I said it worked, they were going to build the installer for it. Haven't heard anything more from them on it yet. If they tell me the name of the hotfix, I'll post it.

     

    James

     

    Thursday, August 2, 2007 4:07 PM
  • Same here. But it isn't a hotfix yet, just some kind of prerelease for testing. I've been using this for about a week now and Intellisense did not use constantly 100% CPU (project on a network drive as well). I've been told that this is now going to the next stage where they build an official installation file for it, so I guess you will see something soon.
    Thursday, August 2, 2007 6:52 PM
  • It would be helpful to know what .dll was sent in the fix.

    I signed up to test the fixes Microsoft is developing, and in the process of gathering "baseline performance" data, I discovered the problem has all but disappeared from my environment.

     

    I applied every hotfix I could find for vs2005 ... unfortunately, these aren't tracked, so I can't provide a list of what I changed.   I'm attaching the output from Sysinternals ProcExplorer (Ctrl-D ... DLL's used) from devenv process after a build.

     

    The symtoms changed:

    1. There is a long delay during devenv startup (there always was)

    2. There is no Intellisense activity at all during my builds and changes.

    3. There is a long delay during devenv shutdown

     

    During startup/shutdown, the system is completely non-responsive; mouse is jerky, no windows can be moved.

     

    Using Sysinternals ProcMonitor, I discovered devenv is reading/writing the .ncb file sequentially, 1-byte at a time.

     

    My loaded DLL's: Ordered by Name

     

    Process: devenv.exe Pid: 5100

    Version                Date  Name             Description
    5.01.2600.2180      8/4/2004 activeds.dll    ADs Router Layer DLL
    6.00.2900.2180      8/4/2004 actxprxy.dll    ActiveX Interface Marshaling Library
    5.01.2600.2180      8/4/2004 adsldpc.dll     ADs LDAP Provider C DLL
    5.01.2600.2180      8/4/2004 advapi32.dll    Advanced Windows 32 Base API
    8.00.50727.0042    9/23/2005 alink.dll       Assembly Linker
    3.05.2284.0000      8/4/2004 atl.dll         ATL Module for Windows XP (Unicode)
    8.00.50727.0762    12/1/2006 ATL80.dll       ATL Module for Windows (Unicode)
    8.00.50727.0762    12/1/2006 atlprov.dll     ATL Attribute Provider
    8.00.50727.0042    9/23/2005 avvspk.dll      Microsoft® Windows Avrf VS Package
    8.00.50727.0042    9/23/2005 avvspk.dll      Microsoft® Windows Avrf VS Package
    8.00.50727.0042    9/23/2005 avvspk.dll      Microsoft® Windows Avrf VS Package
    8.00.50727.0042    9/23/2005 avvspkui.dll    Microsoft® Windows Avrf VS Package
    6.00.2900.2995     9/23/2006 browseui.dll    Shell Browser UI Library
                        8/4/2004 c_936.nls
    8.00.50727.0762    12/2/2006 cedpprjui.dll   Microsoft(R) Visual Studio Deployment Projects UI Dll
    2001.12.4414.0308  7/25/2005 clbcatq.dll
    8.00.50727.0762    12/2/2006 coloader80.dll  VsLoader
    6.00.2900.2982     8/25/2006 comctl32.dll    User Experience Controls Library
    8.00.50727.0762    12/2/2006 compluslm.dll   Complus Library Manager Package
    8.00.50727.0762    12/2/2006 Compsvcspkg.dll   Visual Studio Component Services DLL
    8.00.50727.0042    9/23/2005 compsvcspkgui.dll Visual Studio Component Services DLL
    2001.12.4414.0258   8/4/2004 comres.dll
    5.131.2600.2180     8/4/2004 crypt32.dll     Crypto API32
    8.00.50727.0762    12/2/2006 csprojui.dll    Visual C#® Project System Resource DLL
                        8/4/2004 ctype.nls
    9.00.3790.2428     9/23/2005 custsat.dll     custsat
    8.00.50727.0762    12/2/2006 devenv.exe      Microsoft Visual Studio 2005
    5.01.2600.2938     6/26/2006 dnsapi.dll      DNS Client API DLL
    8.00.50727.0042    9/23/2005 dpprjui.dll     Microsoft(R) Visual Studio Deployment Projects UI Dll
    8.00.50727.0042    9/23/2005 dte80a.olb      Development Environment 7.0 Extensibility
    8.00.50727.0762    12/2/2006 ecbuild.dll     Microsoft (R) Visual Studio Edit and Continue Builder
    8.00.50727.0762    12/2/2006 encmgr.dll      Edit-and-Continue Manager
    8.00.50727.0042    9/23/2005 etpprojui.dll   etpproj
    5.01.2600.3099      3/8/2007 gdi32.dll       GDI Client DLL
    5.01.2600.2180      8/4/2004 hnetcfg.dll     Home Networking Configuration Manager
    7.00.6000.16473    4/25/2007 iertutil.dll    Run time utility for Internet Explorer
                        8/6/2007 index.dat
                        8/6/2007 index.dat
                        8/6/2007 index.dat
    5.01.2600.2912     5/19/2006 iphlpapi.dll    IP Helper API
    5.06.0000.8831     5/17/2006 jscript.dll     Microsoft (r) JScript
    7.00.6000.16473    4/25/2007 jsproxy.dll     JScript Proxy Auto-Configuration
    5.01.2600.3119     4/16/2007 kernel32.dll    Windows NT BASE API Client DLL
                        8/4/2004 l_intl.nls
                        8/4/2004 locale.nls
    8.00.50727.0762    7/26/2007 Microsoft.VisualStudio.CommonIDE.ni.dll   Microsoft.VisualStudio.CommonIDE.dll
    8.00.50727.0042    9/23/2005 Microsoft.VisualStudio.QualityTools.TestCaseManagementUI.dll    Test Case Management User Interface Resources
    6.00.2900.2180      8/4/2004 mlang.dll       Multi Language Support DLL
    5.01.2600.2180      8/4/2004 mpr.dll         Multiple Provider Router DLL
    5.01.2600.2180      8/4/2004 mprapi.dll      Windows NT MP Router Administration DLL
    5.01.2600.2180      8/4/2004 msasn1.dll      ASN.1 Runtime APIs
    2.00.50727.0832    4/13/2007 mscoree.dll     Microsoft .NET Runtime Execution Engine
    2.00.50727.0832    7/26/2007 mscorlib.ni.dll Microsoft Common Language Runtime Class Library
    2.00.50727.0832    4/13/2007 mscorwks.dll    Microsoft .NET Runtime Common Language Runtime - WorkStation
    8.00.50727.0042    9/23/2005 msdbg2.dll      Microsoft Visual Studio 7.0 Debugging Proxy/Stub
    8.00.50727.0762    12/2/2006 msenv.dll       Development Environment DLL
    8.00.50727.0762    12/2/2006 msenv.dll       Development Environment DLL
    8.00.50727.0762    12/2/2006 msenvmnu.dll    Visual Studio Environment Menu Registration DLL
    8.00.50727.0042    9/23/2005 msenvmui.dll    Visual Studio Environment Menu Resource DLL
    8.00.50727.0042    9/23/2005 msenvp.dll      Development Environment Proxy
    8.00.50727.0762    12/2/2006 msenvui.dll     Development Environment Resource DLL
    3.01.4000.4039     4/18/2007 msi.dll         Windows Installer
    5.01.2600.2180      8/4/2004 msimg32.dll     GDIEXT Client DLL
    8.00.50727.0762    12/2/2006 MsPdbCore.dll   Microsoft® Program Database
    5.01.2600.2180      8/4/2004 msv1_0.dll      Microsoft Authentication Package v1.0
    8.00.50727.0762    12/2/2006 msvbprjui.dll   Visual Basic Project DLL
    8.00.50727.0762    12/1/2006 msvcm80.dll     Microsoft® C Runtime Library
    8.00.50727.0762    12/1/2006 msvcp80.dll     Microsoft® C++ Runtime Library
    8.00.50727.0762    12/1/2006 msvcr80.dll     Microsoft® C Runtime Library
    7.00.2600.2180      8/4/2004 msvcrt.dll      Windows NT CRT DLL
    8.00.50727.0762    12/2/2006 mswebprjui.dll  Visual Studio Website Resource DLL
    5.01.2600.2180      8/4/2004 mswsock.dll     Microsoft Windows Sockets 2.0 Service Provider
    6.10.1129.0000     12/4/2006 msxml6.dll      MSXML 6.0 SP1
    6.00.3883.0000      9/8/2005 msxml6r.dll     XML Resources
    5.01.2600.2976     8/17/2006 netapi32.dll    Net Win32 API DLL
    5.01.2600.0000      8/4/2004 netmsg.dll      Net Messages DLL
    6.00.5441.0000     6/29/2006 normaliz.dll    Unicode Normalization DLL
    5.01.2600.2180      8/4/2004 ntdll.dll       NT Layer DLL
    5.01.2600.2726     7/25/2005 ole32.dll       Microsoft OLE for Windows
    5.01.2600.2180      8/4/2004 oleaut32.dll
    6.00.2900.2180      8/4/2004 powrprof.dll    Power Profile Helper DLL
    5.01.2600.2938     6/26/2006 rasadhlp.dll    Remote Access AutoDial Helper
    5.01.2600.2180      8/4/2004 rasapi32.dll    Remote Access API
    5.01.2600.2180      8/4/2004 rasman.dll      Remote Access Connection Manager
    5.01.2600.2794    11/10/2005 rpcrt4.dll      Remote Procedure Call Runtime
    5.01.2600.2161      8/4/2004 rsaenh.dll      Microsoft Enhanced Cryptographic Provider
    5.01.2600.2180      8/4/2004 rtutils.dll     Routing Utilities
    5.01.2600.2180      8/4/2004 samlib.dll      SAM Library DLL
    5.01.2600.2180      8/4/2004 secur32.dll     Security Support Provider Interface
    5.01.2600.2180      8/4/2004 sensapi.dll     SENS Connectivity API DLL
    5.01.2600.2180      8/4/2004 setupapi.dll    Windows Setup API
    6.00.2900.3051    12/19/2006 shell32.dll     Windows Shell Common Dll
    6.00.2900.2995     9/23/2006 shlwapi.dll     Shell Light-weight Utility Library
    8.00.50727.0762    12/2/2006 SmartDeviceProjectUI.dll  Microsoft Visual Studio for Smart Devices Project Package
                        8/4/2004 sortkey.nls
                        8/4/2004 sorttbls.nls
    8.00.50727.0762    12/2/2006 stanpackage.dll Code Analysis Package
    3.50.5014.0000      8/4/2004 stdole2.tlb     Microsoft OLE 3.50  for Windows NT(TM) and Windows 95(TM) Operating Systems
    5.01.2600.3019    10/19/2006 sxs.dll         Fusion 2.5
    0.01.0002.0003     11/6/2002 Syncor11.dll    SynthCore R2.0 Midi Interface Driver
    2.00.50727.0832    7/26/2007 System.Drawing.ni.dll       .NET Framework
    2.00.50727.0832    7/26/2007 System.ni.dll               .NET Framework
    2.00.50727.0832    7/26/2007 System.Windows.Forms.ni.dll .NET Framework
    5.01.2600.2180      8/4/2004 tapi32.dll      Microsoft® Windows(TM) Telephony API Client DLL
                        8/4/2004 unicode.nls
    7.00.6000.16473    4/25/2007 urlmon.dll      OLE32 Extensions for Win32
    5.01.2600.3099      3/8/2007 user32.dll      Windows XP USER API Client DLL
    5.01.2600.2180      8/4/2004 userenv.dll     Userenv
    1.420.2600.2180     8/4/2004 usp10.dll       Uniscribe Unicode script processor
    6.00.2900.2180      8/4/2004 uxtheme.dll     Microsoft UxTheme Library
    8.00.50727.0762    12/2/2006 vcpkg.dll       Microsoft (R) Visual C++ Package
    8.00.50727.0762    12/2/2006 vcpkgui.dll     Microsoft (R) Visual C++ Package UI satellite DLL
    8.00.50727.0762    12/2/2006 VCProject.dll               Visual C++ Build System Package
    8.00.50727.0762    12/2/2006 VCProjectAMD64Platform.dll  Visual C++ Project System Win64 (AMD64) Platform Provider
    8.00.50727.0762    12/2/2006 VCProjectEngine.dll         Visual C++ Build System Project Engine
    8.00.50727.0762    12/2/2006 VCProjectEngine.dll         Visual C++ Build System Project Engine
    8.00.50727.0762    12/2/2006 VCProjectUI.dll             Visual C++ Build System Package Resources
    8.00.50727.0762    12/2/2006 VCProjectWCEPlatform.dll        Visual C++ Project System WinCE (WCE) Platform Provider
    8.00.50727.0042    9/23/2005 vdt80pui.dll    Microsoft Visual Database Tools Package 8.00
    5.01.2600.2180      8/4/2004 version.dll     Version Checking and File Installation Libraries
    8.00.50727.0762    12/2/2006 vjsprojui.dll   Visual J#® Project System Resource DLL
    8.00.50727.0762    12/2/2006 vsdebug.dll     Microsoft Visual Studio Debugger
    8.00.50727.0762    12/2/2006 VSDebugUI.dll   Visual Studio Debugger Package Resources
    8.00.50727.0762    12/2/2006 vslog.dll       Visual Studio Logging
    8.00.50727.0042    9/23/2005 VsLogP.dll      Microsoft Visual Studio 2005
    8.00.50727.0042    9/23/2005 vslogui.dll     Visual Studio Logging UI
    8.00.50727.0762    12/2/2006 vsmacros.dll    Microsoft Design Tools - Framework
    8.00.50727.0042    9/23/2005 vsmacrosui.dll  Microsoft Design Tools - Framework
    8.00.50727.0762    12/2/2006 vsmsoui.dll     Development Environment VSMSO Resource DLL
    8.00.50727.0762    12/2/2006 VssProvider.dll         Microsoft(R) Visual SourceSafe Provider Package
    8.00.50727.0762    12/2/2006 VssProviderStub.dll     Microsoft(R) Visual SourceSafe Stub Package
    8.00.50727.0042    9/23/2005 VssProviderStubui.dll   Microsoft(R) Visual SourceSafe Stub Package
    8.00.50727.0042    9/23/2005 VssProviderui.dll       Microsoft(R) Visual SourceSafe Provider Package
    7.00.6000.16473    4/25/2007 wininet.dll     Internet Extensions for Win32
    5.01.2600.2180      8/4/2004 winmm.dll       MCI API DLL
    5.01.2600.2180      8/4/2004 wldap32.dll     Win32 LDAP API DLL
    5.01.2600.2180      8/4/2004 ws2_32.dll      Windows Socket 2.0 32-Bit DLL
    5.01.2600.2180      8/4/2004 ws2help.dll     Windows Socket 2.0 Helper for Windows NT
    5.01.2600.2180      8/4/2004 wshtcpip.dll    Windows Sockets Helper DLL
    5.01.2600.2180      8/4/2004 wsock32.dll     Windows Socket 32-Bit DLL
    5.01.2600.2180      8/4/2004 xpsp2res.dll    Service Pack 2 Messages

     

    Monday, August 6, 2007 6:44 PM
  • James

    I would like to agree with your comment that opening up a incident helps but I DID in January

    and was told that nope we are not going to fix this. At that time NETWORKED projects were included with my

    issue which was doing a project on a USB drive which brought the problem to my attention. Then I started experimenting and noticed that even switching projects was dismal and I started to pay attention to the long

    pauses on my projects that were on the hard drive making me take coffee breaks when I didnt even need them.

     

    Seems like someone finally got a clue (ya dont think that this thread had any influence?)

    and stopped writting 2 and 4 byte packets to the hard drive. I am REALLY happy this is fixed and I might even be

    able to go back to using my USB drive for projects. Even if I cant with the IDE working at a much faster pace that will

    help a lot.

     

    MS please post to us a Hot Fix number ASAP.

     

    bob

    Tuesday, August 7, 2007 3:06 PM
  • The hotfix you want to ask for is: KB 941098

     

    The KB is not published yet. It will take a week to 10 days for it to be visible to everyone. Meanwhile, you can call Customer Support Services and ask for the hotfix and they should be able to send you the updated binaries. It may take a few days for them to service your request since the hotfix is still in the packaging phase.

     

    This hotfix fixes the unbuffered I/O writes to the NCB which should make IntelliSense behave somewhat faster on network and USB projects.

     

    We're still working on more IntelliSense fixes for the general UI blocking issues. We hope to have fixes available to everyone in September. We're working with a subset of beta volunteers who are helping us testing those on real-world cases. Many thanks to those volunteers.

     

    Thank you for your patience and we truly appreciate all the feedback you're giving to make our product better.

     

    Tuesday, August 7, 2007 4:52 PM
  • I agree with you... but I don't want to waste more time than I spent writing my post. I'm sure than managers do read occasionally this forums... the more activity happens in this thread the more attention it will attract. I hope that by September we'll have some sort of fix for intellisense
    Tuesday, August 7, 2007 5:05 PM
  • If you create a circular reference in two header files Inetellisense locks up VS. I know I shouldn’t create a circular reference, but if you have enough header files it will happen eventually.

     

    #pragma once has no effect on this behavior.

     

    Will Morgan

    Tuesday, August 14, 2007 8:55 PM
  • <P align=left>Not sure if this will help... but the slow "Updating intellisense" can be solved on my side by doing something like the following steps :</P>
    <P align=left>&nbsp;</P>
    <P align=left>1. Firstly rename the feacp.dll file as recommended by other forum member. </P>
    <P align=left>2. Then delete the .ncb file of our project. </P>
    <P align=left>3. Open the project solution in VS8 as usual (this time, there is no "Updating intellisense" anymore), but we can't get intellisense help in detecting our code and make our life easier... So close the program.</P>
    <P align=left>4. Find the renamed feacp.dll and this time rename it to its original name, that is feacp.dll </P>
    <P align=left>5. Open your project solution again, this time the "Updating intellisense" should be fast and we're immediately ready to write our code in the VS8</P>
    <P align=left>&nbsp;</P>
    <P align=left>Along with this, I will look forward to the formal fix we can get to tackle the slow&nbsp;intellisense performance in the near future. Thanks so much&nbsp;to all the developers!</P>
    <P align=left>&nbsp;</P>
    Wednesday, August 15, 2007 2:43 PM
  • Still no visible KB?

     

    I visit this forum every day to see if there's any improvement.

    Any one got a news?

    Tuesday, August 21, 2007 1:15 AM
  • I will follow up on this thread as soon as we have something available.

     

    Thanks,

    Marian Luparu
    Visual C++ IDE

    Tuesday, August 21, 2007 4:39 AM
    Moderator
  •  Tarek Madkour MS wrote:

    The hotfix you want to ask for is: KB 941098 [...] This hotfix fixes the unbuffered I/O writes to the NCB which should make IntelliSense behave somewhat faster on network and USB projects.

     

    This hotfix is now available here: http://support.microsoft.com/default.aspx/kb/941098.

    Direct download is available over here: https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=8261

     

     Tarek Madkour MS wrote:

    We're still working on more IntelliSense fixes for the general UI blocking issues. We hope to have fixes available to everyone in September. We're working with a subset of beta volunteers who are helping us testing those on real-world cases. Many thanks to those volunteers.

     

    Marian Luparu

    Visual C++ IDE

    Friday, August 24, 2007 5:40 AM
    Moderator
  • Thanks, this hotfix seems to have fixed the IDE freezing that made VS05 unusable when working with a solution that contained managed C++ projects located on a network server (specifically a ClearCase view).

     

    While I appreciate a fix I don't understand why that after two years a problem of this magnitude is finally being dealt with.  If we had decided to try and migrate to using VS05 shortly after its release we would have found it to incapable of supporting our development requirements and perhaps ended up looking for a product solution from someone other than Microsoft.  Undoubtedly there are countless others that not only share my sentiment but ended up actually picking a different product.

     

    Chris

    Tuesday, August 28, 2007 3:57 PM
  • heh, feel something for all the developers out there who were forced to switch to VS2005 to support Vista.

     

    I dread to think how much time (and money) we've lost through having to deal with VS2005 everyday since it was launched.

     

    For us, the hotfix made no difference at all.  (Simply because all our projects are always local.)  Is there a firm release data for the bigger fixes coming in September?

     

    Wednesday, August 29, 2007 8:25 AM
  • Same here, I don't see any difference and what is worse is that the KB page says it is supposed to fix slow startup.

     

    I am currently working on Managed C++ project and VS2005 got stuck for minutes everytime I try to start it.

    Any change made to XXXForm.h/cpp also block WinForm Designer for 2~3 minutes and this is killing me.

     

    The workaround is to Clean Solution before any serious GUI change, and that makes me use IncrediBuild because Rebuild takes another 2~3 minutes !

     

    Friday, August 31, 2007 5:13 AM
  • Did everybody go on holiday and decide not to come back? :-)

    What's the status of the big September fix? Anything happening?
    Thursday, September 27, 2007 8:40 AM
  • No holiday yet Smile We've delayed somewhat the date we initially planned to get the QFE out. The good news is that having this additional time allowed us to address most of the issues reported by the customers who enrolled for beta-testing.

     

    We are currently wrapping up the customer beta-test program and our QA is running the last set of scenario and stress tests during this week. This means that the QFE may become publicly available in the following 2 weeks. We'll post on this thread as soon as the KB gets published.

     

    Thanks for your patience,

    Marian Luparu
    Visual C++ IDE

    Thursday, September 27, 2007 9:12 AM
  • Another short update:
    If you didn't see this yet, Soma blogged about our Intellisense fixes being available in VS2008.

    We decided to prioritize higher the work of making the fixes available in VS2008 because VS2008 is getting ready to be released and we didn't want to risk missing the boat on this one. Now that we know all VC2008 customers will benefit from the fixes, we are at full speed on releasing the VC2005 QFE.

    I'll post back here in one week time, when if everything goes well I'll be able to share the QFE download link with you.

    Thanks,
    Marian Luparu
    Visual C++ IDE
    Saturday, October 20, 2007 7:06 PM
    Moderator
  • Any updates?

     

     

    Monday, November 5, 2007 1:38 PM
  • The KB article for the Intellisense Performance hotfix (KB943969) has been published here: http://support.microsoft.com/default.aspx/kb/943969/.

     

    In a few days a link will become available for direct download. Until then, you can call Customer Support Services, mention the KB number and they will send you the updated binaries.

     

    Thanks,

    Marian Luparu

    Visual C++ IDE


    Wednesday, November 7, 2007 7:59 PM
    Moderator
  • Great news!


    The QFE is now available for public download here: http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=9436. You will need to login using a .NET Passport and then you will be redirected to the download location.

    Jim Springfield, our architect, provides additional technical details about the fixes that went in the QFE on our vcblog: http://blogs.msdn.com/vcblog/archive/2007/11/12/performance-improvements-in-visual-c.aspx.

    Give it a read, install the QFE and share your impressions.
    Thanks,
    Marian Luparu
    Visual C++ IDE

     

    Monday, November 12, 2007 11:55 PM
    Moderator
  • That was great news, Marian.

     

    Until I tried to install it.

     

    The installer didn't appear to finish on my machine (Win XP64).  At least it left a window and several processes lying around which I eventually killed after an hour of waiting.  So I don't know whether it actually completed the installation and failed to clean up, or just died halfway through.

     

    Visual Studio *seems* to startup ok, but the hotfix is apparently incompatible with the Xbox 360 XDK, so until that's sorted out the hotfix is pretty useless to us.

     

    James

    Tuesday, November 13, 2007 9:53 AM
  • Hi,

      A bunch of us work on an open source project -- a single VC++ project with several 1000 files in it (it is a make file project). We had all of the listed problems. A friend installed the update and here are his comments:

     

    Bad: "How can an MSVC update that touches <5k lines of code in 3 DLLs have a peak mem usage of 200MB?! And take approximately one ice age to install?! Man. Let's get them Microsoft devs some slower machines."

     

    Good:  "Works nicely. Thanks so much for the link!!!"

     

    So thanks for the work! At least for us it works just fine; just takes a while to install - but that is no big deal as that is only a brief amount of pain. I'll be installing it soon as well.

     

    Cheers,

      Gordon.

     

    Wednesday, November 14, 2007 6:28 AM
  • We are very happy campers now.  I didn't mind the time to install, as I remember from the SP1 upgrade days what was going on, and I just played TetrisDS (multiplayer, for the win!) while it did its business.

    Windows XP Professional SP1 32-bit, VS 2005 SP1.  Perfect install.

    Wednesday, November 14, 2007 2:14 PM
  • Ok, more information regarding my experiences with this QFE.

     

    First time around, as mentioned above, it failed to install.  A white window was left around with several processes idling.  (I noticed at least one of the processes was using over 1GB of memory.)  After an hour or so I killed everything and decided to see whether it had actually installed or not.  The first thing I noticed was that it killed the Xbox 360 XDK.  (Ok, fine - changing just about anything in Visual Studio does that.)  It appeared to install at least partially (I had the updated status bar message with the thread count).

     

    I can't say I noticed a significant improvement over the time taken to update intellisense here.  I didn't really use the editor too much this time around.  I really needed to confirm it was stable enough to roll out to the rest of the team.  So, I started debugging our main client application.  The moment I started debugging the performance of the entire machine went through the floor.  The mouse and keyboard stopped responding for tens of seconds at a time...  even switching back to the debugger to stop debugging took several minutes of intensely slow mouse movements.

     

    I wondered whether this was due to the 'broken' install, so I then attempted to reinstall the hotfix.  This time it went in successfully - at least it managed to exit this time.  No change in debug performance though.  The machine became completely unusable, and debugging was totally impossible.

     

    After an hour of trying to figure out why I decided it was a waste of time, and that there's no point rolling this out for everyone else.  Time to uninstall.  Or so I thought.  There's no way to uninstall it...  It's not listed in Add/Remove Programs.    I've basically wasted most of today uninstalling and reinstalling Visual Studio, MSDN, Windows SDK, Xbox 360 XDK, DirectX, etc, etc.

     

    James, the thoroughly pissed off camper.

    Wednesday, November 14, 2007 3:40 PM
  •  

    Just posted this at Jim Springfield's performance improvement blog, but thought I'd post here to reach the greater audience.

    ----

    Sadly, these fixes don't fix our primary issue. Not to take away from the large amount of improvements that have been made... We have a solution with managed and unmanaged c++ projects. Managed c++ dll's have dependencies on unmanaged c++ static libs. Coding unmanaged c++ is a breeze, but if I just open a file in a managed project, one cpu pegs. Even with this fix. This is just as it was before the fix. All I have to do is ctrl-tab from the managed cpp file to an unmanaged file, and the processor rests. crtl-tab back, and cpu pegs again. Why does it feel the need to completely refresh intellisense when I just set focus to a managed c++ file in the text editor?? Even when the new debug-info thread count drops to zero in the status bar, my cpu stays pegged if I am editing a managed c++ file.
    Please, if I could just have control over intellisense, I would be satisfied - I would like the ability to
    1. manually freeze intellisense into a read-only mode,
    2. manually refresh intellisense db if I feel it is necessary.
    Are these available through the new macros mentioned in the last paragraph of the blog? I'm ready for a tutorial,

    Thanks,
    -Matt

    ----

    Also, we have heavy use of templated classes in our unmanaged c++. This might have something to do with confusing the parser, I have read about such a case before - involving templated typdefs.

    I believe the control I desire will be met with the new macros mentioned in Jim's blog,

    -Matt

    Wednesday, November 14, 2007 6:59 PM
  • I've installed the KB943969 hotfix (along with the earlier KB941098 "slow shut down" hotfix), and I must say, things have improved markedly. At first, I was annoyed because Intellisense *still* wasn't working properly (it still fails to produce a list of functions for a fair number of classes. I can see no pattern to it.) However, I quickly realised that VS2005 had become usable, for two reasons:

    - With ClassView selected, typing code no longer produces non-stop CPU-intensive refreshing, making it almost impossible to work.
    - Intellisense actually works sometimes. I might go as far as to say "often". That makes a change from "almost never".

    So, I think I might be able to get some useful work done in a version of Visual Studio released this millenium. For that, I am grateful. For some of us, it looks like you hit the target with this fix. Nice work.

    (I should also mention that someone else in the department who had complained bitterly about VS2005 installed the same fixes and saw both a huge speed-up and Intellisense functionality going from 5% to maybe 60%. For the amusement of Spanish speakers, the actual comment on the speed-up was "va echando leches").
    Wednesday, November 21, 2007 12:41 AM
  • We have many large projects and while this definitely helped for one project, it completely hung the IDE for the second project (this did not used to happen.) Anything we should try on the second project? Intellisense looks likes its done running but when we open the project, the IDE hangs.

     

    We're running SP1 with the latest intellisense patch from a few days ago.

     

    Thanks,

     

    Ted

    Saturday, November 24, 2007 6:10 AM
  • Hmm, I'd like to try out this latest visual studio update to see if it makes it any more usable, however we definately need it to work 100% with 360 as that's out lead platform on most of our projects....

    Any more details about this - did you get it working with 360 in the end or is there some fundemental issues?

    Steve
    Monday, November 26, 2007 6:18 PM
  • I contacted XDS regarding Xbox 360 support for this QFE.  They said it would be supported in the March release, but with the possibility of earlier support if enough developers requested it.  Check xds360.developers newsgroup for more information.  (Post entitled: 'Xbox 360 XDK support for KB943969'.)

     

    James

    Tuesday, November 27, 2007 8:11 AM
  • Thanks Def. I confirm the XDK release date as well. I answered some additional questions about the QFE on vcblog: http://blogs.msdn.com/vcblog/archive/2007/11/26/q-a-about-the-vc-intellisense-qfe.aspx

     Ted Nugent wrote:
    it completely hung the IDE for the second project (this did not used to happen.) Anything we should try on the second project? Intellisense looks likes its done running but when we open the project, the IDE hangs.

    Ted, we'd like to investigate the issue you're experiencing. Can you save a callstack of devenv.exe process after the IDE freezes and follow up with us at vcperf at microsoft dot com?

     TeamSPC wrote:
    Even when the new debug-info thread count drops to zero in the status bar, my cpu stays pegged if I am editing a managed c++ file.

    TeamSPC, the easiest way to identify the cause is to take a look at a callstack when CPU is at 100%. Can you follow up with us at the address above?

    Thanks,
    Marian

    Tuesday, November 27, 2007 9:44 AM
    Moderator
  • Hello!

    I already wrote about my problem w/ the VC++ Intellisense QFE here: http://blogs.msdn.com/vcblog/archive/2007/11/12/performance-improvements-in-visual-c.aspx#6534391 (comments to "Performance Improvements in Visual C++" Jim Springfield's blog article).

    Let me repeat myself: QFE installer VS80sp1-KB943969-X86-ENU.exe is working and ending its work without any errors (installation has completed successfully). But vcproject.dll, vcprojectengine.dll, vcpkg.dll DLLs have NOT been updated. Their versions/dates were not changed. They remain the same as they were before installation started.

    When I run macros from "Controlling IntelliSense Through Macros" blog I get VS macros error:

    ---------------------------
    Error
    ---------------------------
    Value does not fall within the expected range.
    ---------------------------
     K
    ---------------------------


    Quote> ...Until then, a workaround is to replace the 3 binaries on your machine (vcproject.dll, vcprojectengine.dll, vcpkg.dll) with the ones from a machine with an English VS and the QFE installed...

    I unpacked VS80sp1-KB943969-X86-ENU.exe w/ 7-zip, extracted vcproject.dll, vcprojectengine.dll, vcpkg.dll DLLs and
    replaced "original" VC++ DLLs w/ the same names. After that I opened VC++ 2005 SP1 solution and I got the following errors:

    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    Package Load Failure

    Package 'Visual C++ Project System Package' has failed to load properly ( GUID = {F1C25864-3097-11D2-A5C5-00C04F7968B4} ). Please contact package vendor for assistance. Application restart is recommended, due to possible environment corruption. Would you like to disable loading this package in the future? You may use 'devenv /resetskippkgs' to re-enable package loading.
    ---------------------------
     es No
    ---------------------------

    and

    ---------------------------
    Microsoft Visual Studio
    ---------------------------
    The application for project '<my_project_fullname>.vcproj' is not installed.

    Make sure the application for the project type (.vcproj) is installed.
    ---------------------------
     K Help
    ---------------------------

    DLLs, which I "manually" extracted from VS80sp1-KB943969-X86-ENU.exe, have the same versions as files are described in article KB943969 (http://support.microsoft.com/kb/943969/en-us). i.e. were extracted well?

    I replaced DLLs at the following locations:

    * <VC_Install_Dir>\vcpackages
    * "C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages"
    * <VC_Install_Dir>\bin\amd64

    Visual C++ is installed on partition D.

    Microsoft Visual Studio Professional 2005 is NOT localized -- it is English version w/ installed SP1.
    OS: Windows XP Professional x64 Edition Version 2003 Service Pack 2 (“Regional Options” are set to Russian; I have changed them to default English/United States, but it did not change anything).


    Please hint me what should I do?

    Thanks in Advance!

    --------

    I have solved this problem... Thanks.

    Wednesday, November 28, 2007 5:11 PM
  • Brigadir, you posted a comment on vcblog saying you fixed your problem already: http://blogs.msdn.com/vcblog/archive/2007/11/26/q-a-about-the-vc-intellisense-qfe.aspx#6600838
    I'm posting the link here since this something that other folks could run into.

    Marian
    Friday, November 30, 2007 8:17 PM
    Moderator
  • Thanks to everyone who has posted about this.  Intellisense is an unmitigated disaster in any real-world usage.  My suggestion is to install Visual Assist which does a *far* better job than intellisense, and without any noticable performance drain.  Then delete your ncb file, create a write-protected folder with the same name to prevent a new one being created.  Then zap the f****.dll - if you can do without forms.  Seriously MS, can you provide tickboxes in future which *actually* disable these so-called features, look how many studios are being affected by this.
    Monday, December 17, 2007 2:15 PM
  • The subject of this thread is "How to Disable Intellisense", not how to fix intellisense.  All of the fixes in the world do no good for those of us who simply want to turn off intellisense for C++.  Has Microsoft address that issue?

    Friday, December 21, 2007 11:04 PM
  • I'm fascinated that there are 14 pages of discussion on this topic and yet the question keeps not being answered.  Its mostly "this is how we plan to fix it".   Personally, I can't stand intellisense and just want to turn it off.  I'm a professional programmer and don't need things popping up all the time to tell me parameters I either created myself or have had memorized for years.  I know how to look it up if I need to, and its just as fast.

    Tuesday, December 25, 2007 11:48 PM
  • no patch, no hotfix, no KB, just a simple answer here Smile



    To disable Intellisense, close Visual Studio and navigate to your vcpackages folder:
    C:\Program Files\Microsoft Visual Studio 8\VC\vcpackages

    Rename the file feacp.dll to something feacpold.old for example.




    regards,
    christophep
    Thursday, December 27, 2007 8:39 AM
  • Update:

    An updated HotFix is now available on the Connect site. The fix removes a hang occuring under certain conditions when invoking "Go to Definition" during an Intellisense Update. The new download link:

    New Link for VC2005 Intellisense Performance HotFix

     

     JamesOrlando wrote:

    I'm fascinated that there are 14 pages of discussion on this topic and yet the question keeps not being answered.  Its mostly "this is how we plan to fix it". 

    It’s very difficult on a 14-page-thread to extract our responses. There were several questions asked on this thread –starting with the one in the title and continuing with questions from people who need Intellisense but are seeing high CPU consumption or running into correctness issues when using it. There is an overwhelming number of customers describing their issues/environment and I want to assure you that your feedback has been heard.

    During the summer of 2007, we had a team working on addressing some of the most important Intellisense performance issues. We have asked the posters here whether they want to beta-test our fixes and some of you volunteered. Thank you again! Based on the feedback we got, the IDE responsiveness improved significantly with the fix. We publicly released the hotfix in September and it’s available now on connect.microsoft.com (no call to Customer Support required). Please download it and give it a try.

    For additional details on the VC2005 Intellisense Performance HotFix please follow these links:
    Performance Improvements in Visual C++
    Controlling IntelliSense Through Macros
    Q&A about the VC++ Intellisense QFE

    To answer JBroad and JSilvers,

     JBroad wrote:
    can you provide tickboxes in future which *actually* disable these so-called features

     JSilvers wrote:
    All of the fixes in the world do no good for those of us who simply want to turn off intellisense for C++.  Has Microsoft address that issue?

    When you install the HotFix, VCIDE will allow you to enable/disable, pause/resume and delete NCB store from inside the IDE. Please follow the steps described in “Controlling Intellisense Through Macros” article linked above. Deleting feacp.dll is hardly a good workaround, and I recommend using the HotFix newly introduced functionality instead. If you are still running into performance issues even with the HotFix, you can still use this trick but we would appreciate if you can contact us at vcperf at microsoft dot com beforehand such that we have a chance of at least understanding if not fixing the issue you are running into.

    Thanks,
    Marian Luparu
    Visual C++ IDE

    Tuesday, January 1, 2008 12:46 AM
    Moderator
  • Yes and it is not finished.

    my name is christophe and I use Visual Studio 2005 every day (when my daughter and my wife do not try to crash and destroy the computer)

    intellicence in visual c++ is shi............ shamely slow..
    why have'nt you used the previously pdb and visual c++ 4.2 optimisation engine...
    is is amazing.
    people come and people go and the software is going better and better but some feature are slow.
    excuse me sir, but intellisssssence is slowwwwwwwwwwwwwwwwwwwwwww !!!!!

    if you do not trust me, I will show it on your desk on your Quad core computer.
    I'm in san francisco at the end of the month so come, bring your laptop,

    I will show you this:
    - open visual c++ (click-click)
    - open the scribble application ( I love that )
    - build using debug
    - build using release
    - sitch open winamp, start the gun's and rose - On in a million song
    - stay cool..... let the intellisssence finished its job when the thread waaaaaaaaaaaaaaake up.
    - then add comments in the code
    - and try an intellicence feature


    shocked ?
    no......... do not say that.
    you know that.

    so, FIX IT GUYS.
    or I will send you an email in the internal way.

    your boss.
    Smile
    Saturday, March 8, 2008 7:27 AM
  • more seriously,
    intellicence is not fast because I think you handle the c++ the same way you handle the .net way (means c#)
    but, you should'nt.
    why-
    - c++ use namespace or not. no obligation. no rules. c++ users are free
    - c# use namespace everywhere. module name are company.project.feaure and folders in the project (in vs) are organized
    like xxxdata
    xxxdata.objects
    xxxdata.protocol
    xxxdata.protocol.pop
    xxxxxxxxxxxxxx.imap
    xxxxexchange.protocols.security.sessions, etc.

    in fact, C# intellisence could be very localized based on the current context of the programmer.
    in which module i work, in which namespace, in what folders on my projects

    to be clear:
    the intelllllllicence combox should not give every api of every assemblies of every project in the world.
    it should be clever.


    this is why I have filled the complain. It is horrible to start the day with the intellicence thread this way, at 8:00 AM.

    OK, I agree that VS2008 has made some improooovments buts....
    but Intellicence is still slow.

    Intellicence could a dedicated company. There so many thinks to:
    - provide localized intellicence
    - provides namespace of namespace
    - provide a meta directory for api
    - store the data in the ADAM, etc.........

    So FIX IT or I will fix it myself as a privat add-ons only available to firefox and google users  Smile

    regards,
    christophep
    Microsoft Partner ISV
    http://mspic.net
    Saturday, March 8, 2008 7:49 AM
  • on things more,
    my tea boost (stl) me this morning.
    hello to herb.
    hello to the vc team.


    my last thing is:
    correct and fix this newsgroup application
    I'm always used to hack the url to go on page 14
    http://forums.microsoft.com/msdn/showpost.aspx?postid=2971295&siteid=1&mode=1&sb=0&d=1&at=7&ft=11&tf=0&pageid=13
    =>
    http://forums.microsoft.com/msdn/showpost.aspx?postid=2971295&siteid=1&mode=1&sb=0&d=1&at=7&ft=11&tf=0&pageid=1

    have funs.
    christophep
    General - Windows Division
    Saturday, March 8, 2008 7:58 AM
  • Thanks so much !! It worked.

    Cheers,
    Ram.
    Friday, March 28, 2008 4:02 AM
  • The page with the download has this note:

     

    Note: These packages are deprecated. Please use the hotfix corresponding to KB947315 for the hotfix that addresses this issue.

     

    Does this mean that this hotfix should no longer be used?  If so where do I get the current one?

     

    Thanks

    Thursday, April 17, 2008 1:28 PM
  • The new download link is:

    http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=11587

     

    I am following up with the Connect team to update the note in the old Connect page to contain the new link as well.

     

    Thanks for pointing this out!

    Marian Luparu

    Visual C++ IDE

    Thursday, April 17, 2008 6:05 PM
    Moderator
  • Hi MS Folks

    Could you clarify one thing about the latest hotfix - over the course of this thread there have been at least 4 fixes that have been released:

    - KB916769
    - KB913377
    - KB941098
    - KB947315 (the latest)

    Question: Does the latest include the previous ones or should we install all of these?

    Like most of the rest of this thread I have had significant issues with VS2005 hanging and being unusable and don't want to mess things up with installing incompatible fixes.

    Thanks

    Colin
    Friday, June 6, 2008 1:37 AM
  • I've dowloaded the patch from the above link. Only one of the enclosed zip files installed correctly and the "updating intellisense" message still shows up.

    Any Suggestions?
    Tuesday, August 19, 2008 2:00 PM