- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在 Visual Studio 2010 中开发一个项目。我的项目不应该仅限于 Windows,但是,其中一个文件依赖于操作系统。
因此,我有 #include <windows.h>
仅在一个 .cpp 文件中。没有其他文件包含此 .cpp 文件。因此,从逻辑上讲,windows.h
header 应该对解决方案的其余部分不可见。
这意味着除了那个 .cpp 之外,我的所有文件中的 Windows 库中的声明都没有任何名称冲突,而且我的项目编译得很好。
但是,IntelliSense 一直坚持说我有名称冲突。当我按下 Ctrl+Space
, IntelliSense 建议来自 windows.h
的标识符.这在 windows.h
的范围内应该是隐形的!
有没有我可以更改的设置来阻止这种烦人的行为?
我 100% 肯定问题不在于我的解决方案的结构,因为如果我使用已在 windows.h
中定义的标识符在我项目的另一部分中,编译器无法识别它并且无法编译...但 IntelliSense 可以识别它!
最佳答案
引述从事 VC++ 工作的 Microsoft 员工 Andy Rich 对这篇博客文章的评论:Troubleshooting Tips for IntelliSense Slowness
The browsing database will find all source files that are somehow included in your project, either directly or as a result of other #include directives. This is not configurable, and is necessary in order for the IDE to be able to provide accurate answers.
很遗憾,答案是否定的,除了完全禁用 IntelliSense 之外,您无能为力。
关于c++ - IntelliSense 包含不应包含的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7666928/
我是一名优秀的程序员,十分优秀!