2010-06-08 47 views
2

我有一个解决方案,包含21个C++项目和1个VB.NET项目。 只需将文件夹移动到文件中或尝试打开菜单时,IDE响应速度非常慢。这个过程似乎需要每个动作占用50%的CPU。 它只发生在这个解决方案中,并且只发生在我的机器上。VS2008在特定的大型C++解决方案上非常慢

该解决方案共有2380个源文件和头文件,其中1280个是头文件。

我试图删除所有连接到源代码管理(Perforce),但它没有帮助。 另外,我安装了Visual Assist,但即使在删除它(卸载)后,仍会继续执行相同的操作。

有什么想法?

+3

来看看我的解决方案,在其中的112个项目:) – anthares 2010-06-08 10:31:54

回答

3

取消智能感知。

http://blogs.msdn.com/b/saraford/archive/2007/12/03/did-you-know-how-to-turn-off-intellisense-by-default.aspx

智能感知分析整个项目,并减慢IDE大幅下降。如果你使用Visual Assist,那么你不会真的需要它。 Visual Assist的资源消耗较少,并在后台扫描,intellisense在解析过程中会窃取太多资源。

这是否适用于你的情况? http://coolthingoftheday.blogspot.com/2008/03/visual-basic-2008-hotfix-to-fix-slow.html

+2

也试图删除'.ncb'文件。 – 2010-06-08 10:46:06

+1

我尝试了您的建议来停用智能感知,但它没有帮助。 请注意,您的答案中的链接是不相关的(这是FoxPro的,它说,要查找工具 - >智能感知管理器菜单,但我没有它 而是我使用宏建议http://blogs.msdn .COM/b/vcblog /存档/ 2007/11/19 /控制,智能感知,通宏。aspx 另外,我试图删除.ncb文件,这也没有帮助。 – VioletRose 2010-06-08 12:15:40

+0

@VioletRose:你是说你不能成功关闭智能感知系统,或者你已经停用智能感应系统,但它不会提高性能? – jalf 2010-06-08 13:30:41

0

请注意,禁用智能感知也可能会打破像类向导(至少我很确定它在VS2005中)的东西。正如已经提示的那样,定期清除诸如.ncb之类的所有临时文件是一个好主意,因为它们可能会变得非常庞大并且会使IDE变慢。 另外,如果您使用Visual Assist,请尝试重建数据库,禁用它或安装其他版本。

0

我有超过100个项目的几个解决方案,所以我确切地知道你的感受。包含一些托管项目的解决方案尤其糟糕。禁用智能感知功能有很多帮助。我从来没有见过Visual Assist(或其他类似的重构工具)出现过这样的问题,并且从失去Intellisense中填补了很多缺失的功能。

我也遇到过一些项目,其代码会导致智能感知线程无休止地循环,永远不会完成分析代码。其中大部分时间我们都无法确定导致问题的确切位数。怀疑列表中的模板和嵌套宏的使用量很高。

确保Intellisense被禁用的唯一好方法是创建一个与ncb文件同名的目录。转到解决方案目录,删除ncb,然后创建一个名为your_solution_name.ncb的目录。因为它不能重新创建ncb文件,所以每次打开解决方案时都会出现一个错误框,但这是一个很小的代价。

简单地删除ncb将意味着VS会再次创建它。我从VS选项中看到的方法会关闭一些功能,但不会阻止它试图解析所有代码。

+0

我试图删除ncb文件并改为创建一个目录。不幸的是,它没有帮助。 似乎问题不在智能感知中。 – VioletRose 2010-06-09 07:27:52