Mar*_*ngs 6 c++ macros intellisense qt visual-studio-2010
我在Q20 4.7.4的VS2010中有一个c ++项目,我经常遇到IntelliSense问题(正如我们所做的那样......).一个特定的问题是有时无法找到函数体(在.cpp文件中).如果我单击该函数体,下拉框(通常显示您所在的函数)为空.
今天我在添加一个foreach()
语句(Qt宏Q_FOREACH)后立即注意到了这种行为.然后我用相应的替换了foreach()宏,for(int i = 0; i < ...)
并且IntelliSense 再次立即显示该函数.
所以我想知道:
您必须使用'cpp.hint'文件的概念.
基本上,您必须将麻烦的宏放入名为'cpp.hint'的文件中并将该文件放在您的解决方案目录中(这对我来说不起作用 - 可能是非标准项目布局)或者在父目录中放置您的代码文件驻留在.(为我工作)
在那个文件中你只是把麻烦的宏放在右边,所以在你的情况下:
#define foreach()
Run Code Online (Sandbox Code Playgroud)
或者更好
#define Q_FOREACH(variable, container)
#define foreach(...)
etc.
Run Code Online (Sandbox Code Playgroud)
注意,在将定义放入cpp.hint文件后,您可能需要重新扫描或重新启动或使用函数来设置效果.
更新:事实上,我刚刚发现,我必须对.cpp文件进行一些更改(例如添加新行)才能启动效果.修复程序不会自动应用.
原始链接是:http: //msdn.microsoft.com/en-us/library/dd997977.aspx
出现问题的原因是,如果必须解析项目中的所有宏,Intellisense性能会(可能)显着降低,因此它只解析那些在'cpp.hint'中明确给出的宏.
原始的Microsoft文本说您可以使用"从源文件的根目录到包含源文件本身的目录的路径"中的任何目录.在典型的Visual C++项目中,根目录包含解决方案或项目文件. "
您可以在'C:\ Program Files(x86)\ Microsoft Visual Studio 12.0\VC\vcpackages'中找到主要的'cpp.hint'文件以供参考
归档时间: |
|
查看次数: |
743 次 |
最近记录: |