可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
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.