2010-06-08 45 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