您必須使用'cpp.hint'文件的概念。
基本上,你必須把麻煩的宏放到一個名爲'cpp.hint'的文件中,並將該文件放到你的解決方案目錄中(這對我來說不適用 - 也許是非標準的項目佈局) 。您的代碼文件所在目錄(爲我工作)
在該文件中,你只要把麻煩宏而不右手側,所以在您的情況:
#define foreach()
也許更好
#define Q_FOREACH(variable, container)
#define foreach(...)
etc.
請注意,在將定義放入cpp.hint文件後,您可能必須重新掃描或重新啓動或調用要設置的效果函數。
UPDATE:的確,我剛剛發現,我必須對一個.cpp文件進行一些更改(例如添加一個新行)才能啓動該效果。該修復不會自動應用。
原路段是: http://msdn.microsoft.com/en-us/library/dd997977.aspx
的原因麻煩的是,智能感知性能會(潛在的)顯着降低,如果它不得不解析項目中的所有宏,因此它只分析那些明確給出「 cpp.hint」。
原始的微軟文字說,你可以使用「從源文件的根目錄到包含源文件本身的目錄的路徑。在典型的Visual C++項目中,根目錄包含解決方案或項目文件。「
您可以在主 'cpp.hint' 文件 'C:\ Program Files文件(x86)的\微軟的Visual Studio 12.0 \ VC \ vcpackages' 參考
來源
2014-02-07 07:58:31
nuu
我無法驗證它,因爲我只有2008年和Intellisense被我們這個相當大的項目所壓倒,它有很多問題很難完全實現。但是,我正在做的是:我在Qt Creator中開發*並在Visual Studio中編譯和調試*。這對我來說是兩個世界的最佳組合。很明顯,你需要在'中管理項目。pro'文件並使用'qmake -tp vc -recursive .pro'或將視覺工作室添加到 –
中,使用'Q_FOREACH'替換'foreach()'並指定'CONFIG + = no_keywords'時會發生什麼? – UmNyobe
@UmNyobe我試着用'Q_FOREACH'替換'foreach()'而沒有任何效果。恐怕我不知道如何添加'no_keywords',因爲在VS2010中沒有'.pro'文件。你知道哪些是項目屬性頁面中的相應字段嗎?然而,'no_keywords'意味着我不得不用'Q_SIGNAL'替換所有'signal' - 這比重寫所有foreach()更麻煩。 –