113

I don't use TypeScript for the time being. Only ES6 with babel.
I don't have installed TypeScript in node_modules.

I get a specific warning from VSCode every time I open a workspace.

\node_modules\typescript\lib doesn't point to a valid tsserver install. Falling back to bundled TypeScript version.

How can I get rid of such warnings? Or should I change editor in order to feel calm?

2
  • I am still getting ts6133 no-unused-vars, even though I have // eslint-disable-line. vscode removes the line on save. I have eslint and eslint vscode extension. I do not have tslint extension. My user settings: ``` "eslint.codeActionsOnSave.mode": "all", "breadcrumbs.enabled": true, "javascript.validate.enable": false, "typescript.validate.enable": false, "javascript.format.enable": false, "typescript.format.enable": false, "javascript.implicitProjectConfig.checkJs": false, "javascript.suggestionActions.enabled": false, ``` Please help! Commented Jan 25, 2020 at 1:06
  • Note: Depending on what you're wanting, you may want to just disable the built-in Extensions altogether. See my new answer for more. Commented Jun 26, 2021 at 22:27

8 Answers 8

213

TypeScript and JavaScript validation can be turned off in VS Code with these two settings:

"typescript.validate.enable": false,
"javascript.validate.enable": false,
Sign up to request clarification or add additional context in comments.

15 Comments

Thanks, after your answer, I changed this setting and others for TypeScript, but the specific warning is not disappeared. I think the only way is to install in local node_modules the TypeScript. I can do it, even if I don't use it, but I am afraid not having other warnings later :-)
@JohannesRieken Why both? Aren't we only interested in disabling TypeScript? You can improve your solution by mentioning what the second statement does, it's pretty confusing given it states to disable JavaScript validation, when we are interested in disabling TypeScript.
For some reason, I had to disable javascript validation to disable the typescript validation. That is very confusing.
It's a shame to disable builtin JS+TypeScript validation globally for all and any proiject (even TypeScript ones) just because it cannot be turned off on a 'per project' basis or isn't smart enough to not typescript validate non-typescript files.
Where do you put these values?
|
48
  1. open the command palette : CTRL + SHIFT + P

  2. open the file settings.json :

enter image description here

  1. add these 2 lines of code:

    "typescript.validate.enable": false,
    "javascript.validate.enable": false,
    

1 Comment

This error is almost always caused by accidentally setting the path to the typescript compiler or tsdk library in the user preferences instead of the workspace preferences when working on a typescript project, then switching to a javascript project. If anyone reading this has this problem, try Bernard's answer first and only disable validation if it doesn't work. You probably want to know if your javascript is buggy. :)
15

As per here, you can disable built-in extensions in VSCode now. In the Extensions tab on the left (Ctrl+Shift+X), search for @builtin + JavaScript / TypeScript. Then click the little gear icon next to an Extension and click Disable.

I disabled TypeScript and JavaScript Language Features (there is a JavaScript Language Basics Extension) and TypeScript Language Basics.

1 Comment

I tried this also, but it also disabled the TS definition files and import navigation, which I did not want turned off.
14

I was having a similar problem. I had an incorrect setting for typescript.tsdk in my user settings:

"typescript.tsdk": null

To fix it, you can either set the location to a valid location:

"typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib",

or just remove the line from your settings if are not using Typescript.

If you need more detail, I found the VSCode docs to be very concise and easy to understand.

2 Comments

The provided link doesn't mention typescript.tsdk (any more??) but this one does: code.visualstudio.com/docs/typescript/typescript-compiling
Neither my user settings nor workspace settings contain an entry by this name.
8

In my case it was caused because there was extension that used vscode.typescript-language-features extension.

I still wanted javascript errors to be shown so "javascript.validate.enable": false, wasn't an option.

By disabling the extension "VueDX" that was using the @builtin extension it fixed the issue and still shows javascript syntax errors.

You can search all the typescript extensions by searching on @builtin typescript

Comments

6

Good answers, but I had a situation where I only wanted to turn off TypeScript validation for some unported vanilla JavaScript that we're using in TypeScript land. Our use of eslint didn't catch nearly as many errors as the TypeScript validator, so to preserve the ability to validate "real" *.ts, it was important to only turn off TypeScript validation for specific files.

Easy enough, it turns out. From bobbyhadz.com:

Use the // @ts-nocheck comment to disable type checking for an entire file in TypeScript.

...

// @ts-nocheck

console.log('no errors' / 0);
console.log('no errors' / 0);

And from the TypeScript docs (which shows ways to get even more granular):

You can skip checking some files by adding a // @ts-nocheck comment to files.

TypeScript may offer you errors which you disagree with, in those cases you can ignore errors on specific lines by adding // @ts-ignore or // @ts-expect-error on the preceding line.

// @ts-check
/** @type {number} */
var x;
 
x = 0; // OK
// @ts-expect-error
x = false; // Not OK

Comments

2

If you want to modify a setting, open the settings option (there is a new settings editor by the time I am writing this) and search for the setting you want to modify. I was attempting to change the typescript validation, but I wasn't allowed as the document was read only. If you hover over the setting, you get a pen on the left of the setting. If you right click on the pen, it will give you the option of true or false, as for my case I was targeting "typescript.validate.enable". I changed it to false, which in turn, VS code copied the code into the right of the screen with the new value. In short, the left is the settings.json file. On the right, you have the user-settings.json. You are only allowed to modify the user settings and the user setting can override any settings in the main settings.json file. -Kf

enter image description here

Comments

1

To solve this issue I am using a hybrid approach.

I have disabled typescript validation throught the settings.json file

typescript.validate.enable": false

and I left javascript validation enabled

javascript.validate.enable": true

While working on a project and get any unresonable errors due to typescript enforcement, I just use the @ts-ignore flag above the line in error and everything is as expected.

With this approach, quick fix and import / export options are enabled, keeping vscode happy.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.