【发布时间】:2011-11-19 11:57:19
【问题描述】:
有谁知道为什么 Visual Studio 2008 的 Intellisense 表现得很有趣?
如果我说BEGIN_MSG_MAP,我会得到:
如果我说BEGIN_MSG_MAP_FOO,我会得到:
不管怎样,宏都是未定义的,那有什么关系呢?
不,我没有在任何地方使用 Force Include,所以这是实际的整个源文件 - 几乎没有任何定义,如下所示:
【问题讨论】:
-
你确定它们都是未定义的吗?
-
@Daniel:查看新截图。
-
所以,您问“为什么 IntelliSense 不适用于我编写的这个无效代码?”值得一提的是,Visual C++ 2010 中的 IntelliSense 并未提供任何代码示例的完成列表。
-
@James:我认为你没有抓住重点。 两个都是无效的,因为我没有包含任何东西。但 Intellisense 适用于
BEGIN_MSG_MAP,而 not 适用于BEGIN_MSG_MAP_FOO。为什么会这样做? -
@James:另一方面,一些产品的内部结构通常或多或少地公开披露(如果在某些 MS 上找到一些关于 IntelliSense 改进的内部工作的通用描述,我不会感到惊讶)博客)。
标签: visual-studio visual-studio-2008 visual-c++ intellisense