2011-03-02 71 views
5

我無法使智能感知工作。即使我從一個空的項目開始,只添加一個文件,只有一個包含iostream和一個int main()函數打印字符cout(基本上是最基本的程序),如果我試圖讓intellisense顯示任何東西(說通過鍵入cout.)我得到vs2010中的智能感知與C++

智能感知:「沒有可用的附加信息」(參見「故障智能感知在C++項目」以獲得更多幫助)

谷歌搜索已經在產生了幾篇文章的時間。在微軟的網站上,這些網站提出了一些嘗試或者爲什麼不起作用的原因。我嘗試過並且全部消除了它們,除了提到stdafx.h必須在路徑中。

這是什麼文件?
如何知道它是否在路徑中?如果我不知道它在哪裏?
它與IntelliSense有什麼關係?
我應該將此文件添加到我的項目中以使其正常工作嗎?

謝謝。

+2

您使用的是C++還是C++/CLI? – JaredPar 2011-03-02 19:10:56

+0

普通ol'C++。 (至少,我假設我是,我沒有選擇任何特殊的東西,我甚至不知道CLI是什麼) – baruch 2011-03-02 19:22:36

+0

如果你不使用預編譯頭文件,'stdafx.h'不會是你的問題。檢查以確保intellisense實際開啓(對於低端系統,實際上應該在2010年關閉,因爲當它每60秒鐘消耗100%的CPU時,編碼幾乎不可能)。當你包含'iostream'和'std ::'類型時,它是否提供了'std'命名空間中可用類型的列表? – 2011-03-02 19:24:52

回答

8

我得到了它由微軟團隊http://connect.microsoft.com/VisualStudio/feedback/details/652838/intellisense-not-creating-ipch-folder

它必須安裝在WinXP一定的Windows更新做解決。解決方案是安裝VS2010_SP1,然後對其進行某種更新。

+0

這是正確的答案,爲完成建議您指定您的操作系統和SP安裝。 – IssamTP 2013-10-10 16:11:20

+0

此解決方案也適用於我 - 謝謝+1 – fusi 2013-12-15 21:03:54

+0

爲了更具體一些,在鏈接中聲明:「要解決,必須安裝VS2010 SP1,然後KB2526044必須安裝在頂層。」 – user666412 2016-02-12 17:36:35

0

有幾個關於類似問題的線程: 在VS2010上點擊幫助並查找Intellisense。

http://social.msdn.microsoft.com/Search/en-US?query=intellisense%20settings&refinement=123&beta=0&ac=1

http://social.msdn.microsoft.com/Forums/en/vswpfdesigner/thread/75c4cc8d-9a81-4bda-84f0-f619f7493b3b

stdafx.h中應當你創建一個新的項目被自動添加。

From the file: 
// stdafx.h : include file for standard system include files, 
// or project specific include files that are used frequently, but 
// are changed infrequently 
2

看這個問題:C++ VS Express 2010 Intellisense

它是按CTRL+J解決。

編輯:也許這是stdafx.h問題!

添加文件stdafx.cpp和文件stdafx.h到項目! 將#include "stdafx.h"用作所有.cpp文件中第一行代碼。 在stdafx.h中包含所有很少/永不改變和經常使用的頭文件。 打開項目中的預編譯器頭並重建項目。

(創建已預編譯的頭,看看它是如何做了一個虛擬項目)

+0

它給了我上面提到的同樣的錯誤。 – baruch 2011-03-02 20:16:47

0

剛拋出這個在那裏,你正在使用namespacestd?例如:

std::cout. 

,因爲智能感知,如果它不看cout

編輯不會工作:我漏掉了該錯誤信息,所以這是不是這樣的,但離開了答案的情況下,它可能會幫助別人失望該線。

0

也許它從來沒有安裝,你試過修復安裝?,這是值得一試..

+0

我做了一個修復,也是一個卸載/重新安裝。 Nothing – baruch 2011-03-04 07:44:23

-1

IntelliSense將其數據存儲在SQL Server中,該數據庫在VS2010安裝期間安裝。我建議你檢查SQL Server服務是否正在運行。

+0

http://social.msdn.microsoft.com/Forums/en/vstsdb/thread/856ca2f2-b40e-4111-aa4b-8cdf8f7344b4 – Nocturnal 2011-03-05 09:17:30

2

打開visual studio時是否使用/UseEnv開關?它打破了C++項目的Intellisense。

0

我想我應該提到這一點:

的Visual Studio 2012我注意到,智能感知突然停在我的C++項目(同樣的錯誤描述的海報)工作。發生這種情況是因爲我在項目屬性 - > C/C++ - >預處理器下添加了「DEBUG」作爲預處理器定義。

一旦我從該列表中刪除它,並將其放入代碼(#define DEBUG)中,intellisense突然再次開始工作。

我不知道爲什麼會發生這種情況,我只知道它把我的intellisense搞砸了。我希望這可以幫助別人。

0

WIN32; _WINDOWS; _DEBUG;追加_DEBUG; remove append _DEBUG;

0

我知道這是一個老問題,但我有類似問題IntelliSense: 'No additional information available' (See 'Troubleshooting IntelliSense in C++ Projects' for further help.)。我的問題與stdafx.h沒有關係。

爲了解決我的問題,我關閉了VS2010,刪除了.sdf和.suo文件以及項目主文件夾中的ipch目錄。

然後我重新啓動VS2010,等待它再次構建所有元數據,並且Intellisense(自動完成)運行良好。

編輯:我不知道這個「機動」是否有負面影響。

1

請在項目目錄中找到* .sdf文件(Intellisence數據庫緩存)並刪除它並重新啓動項目解決方案,這將帶來您的智慧。

+0

這是爲我工作。沒有缺點,因爲數據庫在啓動時重建。 – 2016-10-13 19:38:55