This documentation is archived and is not being maintained.

When IntelliSense Is Unavailable

There are certain cases when the IntelliSense options may not work as you expect.

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.

If the cursor is in a comment in your source file, then IntelliSense options is unavailable.

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.

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.

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:

  1. Close the solution.

  2. Delete the .ncb file.

  3. Reopen the solution.

    Reopening the solution creates a new .ncb file.

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.

For more information about the include directive, see The #include Directive and Using C++ Library Headers.

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).