1. Visual Studio 2019 Javascript Intellisense Not Working
  2. Jquery Intellisense Js
  3. Visual Studio Javascript Intellisense Not Working
  4. Visual Studio Javascript Intellisense Plugin
  5. Visual Studio Code Javascript Intellisense
  6. Visual Studio Code Javascript Intellisense

JavaScript in Visual Studio Code 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. Visual Studio JavaScript autocompletion (VSDoc IntelliSense) 15 februari 2017 Developer. Visual Studio has autocompletion (IntelliSense, VSDoc) for the JavaScript language and of code in the same file. But it would also be nice if it could also autocomplete on your JavaScript code in other files. JQuery supplies VSDoc files for their framework.

Visual Studio Code provides excellent intellisense for JavaScript, TypeScript, and C#. Whether you are running ASP.NET 5 or node or client side code, you’ll see a new level of intellisense here.

You can also hit CTRL+SPACE and get intellisense.

Visual Studio 2019 Javascript Intellisense Not Working

If you hover over a variable VSCode shows the signature of a function or the type of a variable, if it can be determined.

Visual Studio Code Series

Follow this series to learn more about what you can do with Visual Studio Code!

JavaScript Intellisense

Out of the box we get basic intellisense for what the editor can determine on its own about the JavaScript code. VSCode will tell you a function’s signature or what variables are available in scope.

When working in node.js VSCode provides intellisense across all of your JavaScript modules (the ones you write).

Quick Fix

Now let’s assume you want intellisense for the JavaScript libraries or node modules you use on the client or server. Perhaps you are using Angular and you want intellisense on it. Notice the green squiggly line under angular? Put your cursor on it then click the light bulb ( or CMD+. ) and choose Add /// reference to angularjs/angular.d.ts.

VSCode will go and get the typings definition file for Angular and add it to your project, reference it in the file and you instantly have intellisense for Angular! (VSCode grabs the typings files from the Definately Typed repository.)

We can now repeat this by adding jQuery code to a file. Put the cursor on the $, click CMD+., and pull down the typings file. Now we have jQuery intellisense, too.

Consolidating into a tsd.d.ts

Do you see the 2 /// references and how the can accumulate? You can make a single tsd.d.ts with the npm package named tsd.

This produces a tsd.d.ts file which you can reference in your JavaScript files to get intellisense. Now you have 1 place to put all of you typings for JavaScript projects.

I think the story for this will get even better too, since VSCode uses TypeScript under the covers for its tooling.

Additional Hints

If you try to create a type in a JavaScript file, VSCode will warn you that it is not valid.

TypeScript Intellisense

The intellisense and editor experience is top notch when using TypeScript. VSCode provides intellisense across multiple files because TypeScript understands the import statement.

VSCode provides intellisense for third party libraries, if you include the typings *.d.ts files. This works the same as it does with JavaScript files. You can use the Quick Fix feature to add a typing automatically.

JSON Intellisense

Intellisense works in well known JSON files too, including package.json and bower.json. It uses schema information and looks up values to find likely matches, where possible.

Visual studio javascript intellisense external file

Here you can see it finding all npm packages that match gulp.

Here you can see it finding the most appropriate versions and showing a message about what the versions mean.


Visual Studio provides a powerful JavaScript editing experience right out of the box. Powered by a TypeScript based language service, Visual Studio delivers richer IntelliSense, support for modern JavaScript features, and improved productivity features such as Go to Definition, refactoring, and more.


Visual Studio Javascript Intellisense

Starting in Visual Studio 2017, the JavaScript language service uses a new engine for the language service (called 'Salsa'). Details are included in this article, and you can also read this blog post. The new editing experience also mostly applies to Visual Studio Code. See the VS Code docs for more info.

For more information about the general IntelliSense functionality of Visual Studio, see Using IntelliSense.

What's new in the JavaScript language service in Visual Studio 2017

Starting in Visual Studio 2017, JavaScript IntelliSense displays a lot more information on parameter and member lists. This new information is provided by the TypeScript language service, which uses static analysis behind the scenes to better understand your code.

TypeScript uses several sources to build up this information:

IntelliSense based on type inference


In JavaScript, most of the time there is no explicit type information available. Luckily, it is usually fairly easy to figure out a type given the surrounding code context.This process is called type inference.

For a variable or property, the type is typically the type of the value used to initialize it or the most recent value assignment.

For a function, the return type can be inferred from the return statements.

For function parameters, there is currently no inference, but there are ways to work around this using JSDoc or TypeScript .d.ts files (see later sections).

Additionally, there is special inference for the following:

  • 'ES3-style' classes, specified using a constructor function and assignments to the prototype property.
  • CommonJS-style module patterns, specified as property assignments on the exports object, or assignments to the module.exports property.

IntelliSense based on JSDoc

Where type inference does not provide the desired type information (or to support documentation), type information may be provided explicitly via JSDoc annotations. For example, to give a partially declared object a specific type, you can use the @type tag as shown below:

As mentioned, function parameters are never inferred. However, using the JSDoc @param tag you can add types to function parameters as well.

See JSDoc support in JavaScript for the JsDoc annotations currently supported.

Jquery Intellisense Js

IntelliSense based on TypeScript declaration files

Visual Studio Javascript Intellisense Not Working

Because JavaScript and TypeScript are now based on the same language service, they are able to interact in a richer way. For example, JavaScript IntelliSense can be provided for values declared in a .d.ts file (see TypeScript documentation), and types such as interfaces and classes declared in TypeScript are available for use as types in JsDoc comments.


Below, we show a simple example of a TypeScript definition file providing such type information (via an interface) to a JavaScript file in the same project (using a JsDoc tag).

Automatic acquisition of type definitions

In the TypeScript world, most popular JavaScript libraries have their APIs described by .d.ts files, and the most common repository for such definitions is on DefinitelyTyped.

Visual Studio Javascript Intellisense Plugin

By default, the Salsa language service will try to detect which JavaScript libraries are in use and automatically download and reference the corresponding .d.ts file that describes the library in order to provide richer IntelliSense. The files are downloaded to a cache located under the user folder at %LOCALAPPDATA%MicrosoftTypeScript.


This feature is disabled by default if using a tsconfig.json configuration file, but may be set to enabled as outlined further below.

Visual Studio Code Javascript Intellisense

Currently auto-detection works for dependencies downloaded from npm (by reading the package.json file), Bower (by reading the bower.json file), and for loose files in your project that match a list of roughly the top 400 most popular JavaScript libraries. For example, if you have jquery-1.10.min.js in your project, the file jquery.d.ts will be fetched and loaded in order to provide a better editing experience. This .d.ts file will have no impact on your project.

If you do not wish to use auto-acquisition, disable it by adding a configuration file as outlined below. You can still place definition files for use directly within your project manually.

Visual Studio Code Javascript Intellisense

See also