2010-07-07 49 views
1

我正在使用Visual Studio 2008,並且我有一個加載託管C++ dll的本地C++項目,但在最後一個,intellisense不再適用於託管代碼。如何在我的C++/cli項目上啓用智能感知?

這個項目(dll)有一個混合代碼(native和managed),如果我在一個乾淨的行上只寫了「::」,intellisense給了我從基類繼承的方法,就像普通的,不是爲了託管代碼,例如

array <String^>^ ContactListToChat; 

我需要幫助,否則我將不得不盲目飛行。

回答

1

從MSDN博客解釋智能感知的歷史摘自:http://blogs.msdn.com/b/vcblog/archive/2008/02/29/intellisense-part-2-the-future.aspx

我們從快,沒有移動非常準確有時快Visual Studio 2008中大多是準確......我們只是大多是準確的我們只捕獲一個頭文件的解析,即使它可以根據包含它的.cpp進行不同的解析(即不同的#define,編譯選項等)。

這是他的解釋,爲什麼有時intellisense可以出色地工作,爲什麼其他時候它完全失明。

你應該看看一些在問題提出的建議:How to get IntelliSense to reliably work in Visual Studio 2008

聽起來最有可能幫助一個是Jogn理查德森的響應。

1)頭文件路徑設置不正確。當您找到intellisense不工作的類型時,請使用IDE單擊每個頭文件以找到包含該類型的頭文件。 (右鍵單擊#include並選擇打開文檔...)。如果在你到達聲明類型的文件之前失敗了,那麼這就是你的問題。確保頭文件搜索路徑正確設置。

2)智能感知數據庫已損壞。這事兒常常發生。您需要關閉解決方案,刪除.ncb文件,然後重新打開解決方案。我發佈了用於解決這個問題的宏。