When IntelliSense Is Unavailable
There are certain cases when the IntelliSense options may not work as you expect.
There is a code error above the cursor
If an incomplete function or other error exists in the code above the cursor, then IntelliSense may be unable to parse the code elements and therefore will not work. You can comment out the applicable code to enable IntelliSense again.
The cursor is in a code comment
If the cursor is in a comment in your source file, then IntelliSense options is unavailable.
The cursor is in a string literal
If the cursor is in the quotation marks around a string literal, as in the following,
MessageBox( hWnd, "String literal|") )
then IntelliSense options is unavailable.
The automatic options are turned off
By default, IntelliSense works automatically, but you can disable it.
Even when automatic statement completion is disabled, you can invoke an IntelliSense feature.
For more information, see Modifying IntelliSense Options.
[C++] There is an issue with the .ncb file
If the no-compile browser (.ncb) file, which is located at the root of your project directory, is read-only or becomes corrupted, IntelliSense information becomes unavailable. To fix this, do the following:
Close the solution.
Delete the .ncb file.
Reopen the solution.
Reopening the solution creates a new .ncb file.
[C++] There is an issue with include files
Make sure that your include directories and include files are set up correctly. Use the /I (Additional Include Directories) and the /INCLUDE (Force Symbol References) options to configure these settings.
[C++] There is an issue with CLR programming syntax
For projects that contain CLR programming syntax from Visual C++ 2005 or later, you must use the /clr compiler option.
For projects that contain Managed Extensions for C++ syntax, which is CLR programming syntax prior to Visual C++ 2005, you must use the /clr:oldSyntax compiler option.
For more information, see /clr (Common Language Runtime Compilation).