- Intellisense Visual Studio Code Not Working
- Enable Intellisense Visual Studio Code
- Intellisense Visual Studio Code Bootstrap
Visual Studio Code includes built-in JavaScript IntelliSense, debugging, formatting, code navigation, refactorings, and many other advanced language features. Most of these features just work out of the box, while some may require basic configuration to get the best experience. This page summarizes the JavaScript features that VS Code ships with. IntelliSense features are sometimes called by other names such as 'code completion', 'content assist', and 'code hinting.' IntelliSense for your programming language. Visual Studio Code IntelliSense is provided for JavaScript, TypeScript, JSON, HTML, CSS, SCSS, and Less out of the box.
The IntelliCode extension for Visual Studio Code provides artificial intelligence-assisted IntelliSense for Python, Java, TypeScript, and JavaScript. AI-assisted IntelliSense predicts the most likely correct API for the developer to use rather than just presenting an alphabetical list of members. It uses the developer's current code context and patterns to provide this dynamic list.
Supported languages
The supported languages for AI-assisted IntelliSense completions are:
- Java
- JavaScript and TypeScript
- Python
- SQL
Prerequisites
To install the extension, you need Visual Studio Code October 2018 Release 1.29 or later.
Intellisense Visual Studio Code Not Working
To get AI-assisted IntelliSense for Java, you need Java 8 Update 151 or higher. (If you have a previous Java 8 version, you'll see the error java.security.InvalidKeyException: Illegal key size, and IntelliCode AI-assisted IntelliSense recommendations won't work.)
Troubleshoot
This section provides some troubleshooting tips for common problems.
No completion lists
If you don't see any IntelliSense completion lists, try these steps:
Look at the output window for the language you're trying to use and see if there's an actionable error message.
Try disabling the IntelliCode extension and see if you get any IntelliSense completions. If you do see IntelliSense completions with IntelliCode disabled, look through the existing issues or open a new one.
You can also try the following troubleshooting steps for your language:
JavaScript / TypeScript: VS Code IntelliSense troubleshooting or JavaScript IntelliSense in VS Code
Java: How to troubleshoot and contribute to the Java language server
Python: Meta issue for the Python language server
No starred suggestions
If you see IntelliSense completion lists, but none of the completion items are starred, look at the VS IntelliCode output window.
Is there a network error?
Are you able to access the internet normally?
Are you behind a proxy or restrictive firewall?
When using IntelliCode, you may see the error message 'Couldn't download IntelliCode model. Please check your network connectivity or firewall settings.', or see similar messages in the IntelliCode output window pane in Visual Studio Code. You might also see no IntelliCode starred suggestions. If you connect to the internet through a proxy or restrictive firewall, that may cause these issues.
As a first step, try updating to Visual Studio Code 1.30 or later, and turning on network proxy support .
If turning on network proxy support doesn't work for you, check the corresponding github issue and let us know more.
Is there an actionable message that helps?
If you're still facing a problem, look through the existing issues or open a new one.
Provide feedback
If you encounter a problem, you can browse existing issues and upvote them using a đź‘Ť 'thumbs up' reaction. If you don't see your particular problem, click the Send feedback about > This product button at the bottom of this page to create a new issue. Include any Output window log entries from Visual Studio IntelliCode, Python, Java, JavaScript, TypeScript, or SQL with the bug.
See also
-->IntelliSense is a name given to a set of features that make coding more convenient. IntelliSense for C++ is available for stand-alone files as well as for files that are part of a C++ project. In cross-platform projects, some IntelliSense features are available in .cpp and .c files in the shared code project, even when you are in an Android or iOS context.
This article provides an overview of C++ IntelliSense features. For information on how to configure your project for IntelliSense and how to troubleshoot problems, see Configure a C++ project for IntelliSense.
IntelliSense features in C++
IntelliSense is a name given to a set of features that make coding more convenient. Since different people have different ideas about what is convenient, virtually all of the IntelliSense features can be enabled or disabled in the Options dialog box, under Text Editor > C/C++ > Advanced. The Options dialog box is available from the Tools menu on the menu bar.
You can use the menu items and keyboard shortcuts shown in the following image to access IntelliSense.
Statement completion and member list
When you start typing a keyword, type, function, variable name, or other program element that the compiler recognizes, the editor offers to complete the word for you.
For a list of the icons and their meanings, see Class View and Object Browser icons.
The first time that you invoke member list, it only shows members that are accessible for the current context. If you press Ctrl+J after that, it shows all members regardless of accessibility. If you invoke it a third time, an even wider list of program elements is shown. You can turn off member list in the Options dialog box, under Text Editor > C/C++ > General > Auto list members.
Parameter help
When you type an opening brace of a function call, or angle bracket on a class template variable declaration, the editor shows a small window with the parameter types for each overload of the function or constructor. The 'current' parameter—based on the cursor location—is in bold. You can turn off parameter information in the Options dialog box, under Text Editor > C/C++ > General > Parameter information.
Enable Intellisense Visual Studio Code
Quick Info
When you hover the mouse cursor over a variable, a small window appears inline that shows the type information and the header in which the type is defined. Hover over a function call to see the function's signature. You can turn off Quick Info in the Options dialog box, under Text Editor > C/C++ > Advanced > Auto Quick Info.
Error squiggles
Squiggles under a program element (variable, keyword, brace, type name, and so on) call your attention to an error or potential error in the code. A green squiggle appears when you write a forward declaration, to remind you that you still need to write the implementation. A purple squiggle appears in a shared project when there is an error in code that is not currently active, for example when you are working in the Windows context but enter something that would be an error in an Android context. A red squiggle indicates a compiler error or warning in active code that you need to deal with.
Code colorization and fonts
The default colors and fonts can be changed in the Options dialog box, under Environment > Fonts and Colors. You can change the fonts for many UI windows here, not just the editor. The settings that are specific to C++ begin with 'C++'; the other settings are for all languages.
Cross-platform IntelliSense
In a shared code project, some IntelliSense features such as squiggles are available even when you are working in an Android context. If you write some code that would result in an error in an inactive project, IntelliSense still shows squiggles, but they are in a different color than squiggles for errors in the current context.
Consider an OpenGLES Application that's configured to build for Android and iOS. The illustration shows shared code being edited. In this image, the active project is iOS.StaticLibrary:
Notice the following:
The
#ifdef
branch on line 6 is grayed out to indicate an inactive region, because__ANDROID__
is not defined for the iOS project.The greeting variable at line 11 is initialized with the identifier
HELLO
, which now has a red squiggle. This is because no identifierHELLO
is defined in the currently active iOS project.Line 12 has a purple squiggle on the identifier
BYE
because this identifier isn't defined in the (currently) inactive Android.NativeActivity project. Even though this line compiles when iOS is the active project, it won't compile when Android is the active project. Since this is shared code, you should correct the code even though it compiles in the currently active configuration.
If you change the active project to Android, the squiggles change:
The
#else
branch on line 8 is grayed out to indicate an inactive region, because__ANDROID__
is defined for Android project.The greeting variable at line 11 is initialized with identifier
HELLO
, which has a purple squiggle. This is because no identifierHELLO
is defined in the currently inactive iOS project.Line 12 has a red squiggle on the identifier
BYE
because this identifier is not defined in the active project.
IntelliSense for stand-alone files
When you open a single file outside of any project, you still get IntelliSense. You can enable or disable particular IntelliSense features in the Options dialog box, under Text Editor > C/C++ > Advanced. To configure IntelliSense for single files that aren't part of a project, look for the IntelliSense and browsing for non-project files section.
By default, single file IntelliSense only uses standard include directories to find header files. To add additional directories, open the shortcut menu on the Solution node, and add your directory to Debug Source Code list, as the following illustration shows:
Enable or disable features
Since different people have different ideas about what is convenient, virtually all of the IntelliSense features can be enabled or disabled in the Options dialog box, under Text Editor > C/C++ > Advanced. The Options dialog box is available from the Tools menu on the menu bar.