带有c ++的vs2010中的Intellisense

时间:2011-03-02 19:09:28

标签: c++ visual-studio-2010 intellisense stdafx.h

我不能让intellisense工作。即使我从一个空项目开始,只添加一个文件,只包含iostreamint main()函数,它打印一个带有cout的字符(基本上是最基本的程序) ,如果我试图让intellisense显示任何内容(比如输入cout.),我会得到

  

智能感知:'没有其他可用信息'(请参阅'在C ++项目中排除IntelliSense故障'以获取进一步的帮助。)

几小时的谷歌搜索已经在微软网站上发表了一些文章,这些文章提出了一些可以尝试的事情,或者说它不起作用的原因。除了提到stdafx.h必须在路径中的人之外,我已经尝试过并将它们全部删除了。

这是什么文件?
如果我不知道它在哪里,我怎么知道它是否在路径中? 它与IntelliSense有什么关系?
我应该将此文件添加到我的项目中以使其工作吗?

谢谢。

12 个答案:

答案 0 :(得分:8)

微软团队在http://connect.microsoft.com/VisualStudio/feedback/details/652838/intellisense-not-creating-ipch-folder

解决了这个问题

它与WinXP上安装的某个Windows Update有关。解决方案是安装VS2010_SP1,然后对其进行一定的更新。

答案 1 :(得分:2)

看看这个问题:C++ VS Express 2010 Intellisense

CTRL+J解决了问题。

编辑:也许这是stdafx.h问题!

将文件stdafx.cpp和文件stdafx.h添加到项目中! 使用#include "stdafx.h"作为所有.cpp文件中的第一行代码。 在stdafx.h中包含所有很少/永不更改且经常使用的标头文件。 打开项目中的预编译器头并重建项目。

(创建一个虚拟项目,其中包含预编译的标题以查看它是如何完成的)

答案 2 :(得分:2)

打开visual studio时是否使用/UseEnv开关?它打破了c ++项目的Intellisense。

答案 3 :(得分:1)

请在项目目录中找到* .sdf文件(智能感知数据库缓存)并将其删除并重新启动项目解决方案,这将带回您的智能感知。

答案 4 :(得分:0)

有几个关于类似问题的主题: 单击VS2010上的“帮助”并查找Intellisense。

http://social.msdn.microsoft.com/Search/en-US?query=intellisense%20settings&refinement=123&beta=0&ac=1

http://social.msdn.microsoft.com/Forums/en/vswpfdesigner/thread/75c4cc8d-9a81-4bda-84f0-f619f7493b3b

创建新项目时,应自动添加stdafx.h。

From the file:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently

答案 5 :(得分:0)

只是把它扔到那里,你正在使用namespace std?例如:

std::cout.

因为如果没有看到cout

,智能感知就无法工作

编辑:我看了那个错误信息,所以情况并非如此,但是如果它可能有助于某人下线就留下答案。

答案 6 :(得分:0)

也许它从来没有安装过,你试过修理安装吗?它值得一试......

答案 7 :(得分:0)

我想我应该提一下:

Visual Studio 2012 中,我注意到Intellisense突然停止在我的C ++项目中工作(与所描述的海报相同的错误)。发生这种情况是因为我在“项目属性”下添加了“DEBUG”作为预处理器定义 - > C / C ++ - >预处理器。

一旦我从该列表中删除它并将其放入代码中(#define DEBUG),智能感知突然重新开始工作。

我不知道为什么会发生这种情况,我只是知道它搞砸了我的智能感知。我希望这有助于某人。

答案 8 :(得分:0)

WIN32; _WINDOWS; _DEBUG;追加_DEBUG; 删除附加_DEBUG;

答案 9 :(得分:0)

baruch 的回答对我有用。完成后,这里也是VS2010-SP1的链接: http://www.microsoft.com/en-us/download/details.aspx?id=23691

所以首先安装这个,然后 baruch 提到的热修复解决了我的问题,虽然整个安装花了差不多1:30小时! (包括在我的Win-XP机器上重启一次。)

答案 10 :(得分:0)

我知道这是一个老问题,但我遇到了类似的问题IntelliSense: 'No additional information available' (See 'Troubleshooting IntelliSense in C++ Projects' for further help.)。我的问题与stdafx.h无关。

为了解决我的问题,我关闭了VS2010,删除了.sdf和.suo文件以及项目主文件夹中的ipch目录。

然后我重新启动VS2010,等待它再次构建所有元数据,Intellisense(自动完成)工作得很好。

编辑:我不知道这种“机动”是否会产生负面影响。

答案 11 :(得分:-1)

IntelliSense将其数据存储在SQL Server中,该服务器在VS2010安装期间安装。我建议您检查SQL Server服务是否正在运行。