Intellisense in vs2010 with c++

2019-02-17 16:21发布

问题:

I can't get intellisense to work. Even if I start with an empty project and add just one file to it with only an include for iostream and an int main() function that prints a char with cout (basically the most basic program), if I try to get intellisense to show anything (say by typing cout.) I get

IntelliSense: 'No additional information available' (See 'Troubleshooting IntelliSense in C++ Projects' for further help.)

Hours of googling have yielded a couple of articles over at the Microsoft sites that suggest a bunch of things to try or reasons why it wouldn't work. I have tried and eliminated them all, except for one that mentions that stdafx.h has to be in the path.

What is this file?
How do I know if it is in the path if I don't know where it is?
What does it have to do with IntelliSense?
Should I add this file to my project to get it to work?

Thank you.

回答1:

I got it solved by the Microsoft team at http://connect.microsoft.com/VisualStudio/feedback/details/652838/intellisense-not-creating-ipch-folder

It had to do with a certain Windows Update installed on WinXP. The solution was to install VS2010_SP1 and then a certain update over it.



回答2:

Look at this question :C++ VS Express 2010 Intellisense

It was solved by pressing CTRL+J .

EDIT: maybe it's the stdafx.h problem !

Add a file stdafx.cpp and a file stdafx.h to the project ! Use #include "stdafx.h" as yhe first line of code in all your .cpp files. Include all rarely/never changing and frequently used header-files in stdafx.h. Turn on precompiler-headers in your project and rebuild the project.

(Create a dummy project which have precompiled headers on to see how it's been done)



回答3:

Do you use the /UseEnv switch when opening visual studio? It breaks Intellisense for c++ projects.



回答4:

Please find *.sdf file (Intellisence database cache) in project directory and delete it and relaunch project solution this will bring back your intellisence.



回答5:

There are a couple of threads about similar problems: click on Help at VS2010 and look for 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 should be added automatically when you create a New Project.

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


回答6:

Just throwing this out there, you are using namespace std? eg:

std::cout.

because intellisense wont work if it doesn't see cout

edit: I over looked that error message so this isn't the case but leaving the answer in case it might help someone down the line.



回答7:

Maybe it never got installed, have you tried a repair install?, it's worth a shot..



回答8:

I thought I should mention this:

In Visual Studio 2012 I noticed that Intellisense suddenly stopped working in my C++ project (same error as the poster described). This happened because I had added "DEBUG" as a Preprocessor definition under Project Properties -> C/C++ -> Preprocessor.

Once I removed it from that list and instead put it in the code ( #define DEBUG ) intellisense suddenly started working again.

I don't know why this happens, I just know it screws up my intellisense. I hope this helps someone.



回答9:

WIN32;_WINDOWS;_DEBUG;Append _DEBUG; remove Append _DEBUG;



回答10:

baruch's answer worked for me. for completion, here is also the link to the VS2010-SP1: http://www.microsoft.com/en-us/download/details.aspx?id=23691

so first installing this and then the hot-fix that baruch referred to solved me the problem, although the whole installation took almost 1:30 hour! (including one restart on my Win-XP machine.)



回答11:

I know this is an old question, but I had a similar problem IntelliSense: 'No additional information available' (See 'Troubleshooting IntelliSense in C++ Projects' for further help.). My problem wasn't related with stdafx.h.

To solve my problem, I closed VS2010, deleted the .sdf and .suo files as well as the ipch directory inside the project's main folder.

Then I restarted VS2010, waited for it to build all its metadata again and Intellisense (autocompletion) worked nicely.

EDIT: I am not aware if this "maneuver" has negative side effects.



回答12:

IntelliSense stores it's data in the SQL Server, which is installed during VS2010 setup. I recommend you check if the SQL Server Service is running.