您必须使用“cpp.hint”文件的概念。
基本上,您必须将麻烦的宏放入名为“cpp.hint”的文件中,并将该文件放入您的解决方案目录(这对我不起作用 - 可能是非标准项目布局)或您的代码所在的父目录文件驻留。(为我工作)
在该文件中,您只需将麻烦的宏放在右侧,因此在您的情况下:
#define foreach()
或者更好
#define Q_FOREACH(variable, container)
#define foreach(...)
etc.
注意,在将定义放入 cpp.hint 文件后,您可能必须重新扫描或重新启动或摆弄一个功能才能设置效果。
更新:确实,我刚刚发现,我必须对 .cpp 文件进行一些更改(例如添加新行)才能生效。修复不会自动应用。
原始链接是:http:
//msdn.microsoft.com/en-us/library/dd997977.aspx
问题的原因是,如果 Intellisense 必须解析项目中的所有宏,它的性能会(可能)显着下降,因此它只解析在“cpp.hint”中明确给出的那些。
微软原文说你可以使用“从源文件的根目录到包含源文件本身的目录的路径”中的任何目录。在典型的Visual C++项目中,根目录包含解决方案或项目文件。 "
您可以在“C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\vcpackages”中找到主“cpp.hint”文件以供参考