How can I use TSLint in VS Code?
Asked Answered
C

7

45

I have installed TSLint in VSCode and created a tslint.json file next to tsconfig.json. But TSLint is not working. For example, I added "curly": true to tslint.json, but when I write a if statement without curly braces, VS Code doesn't give any warning. What does this extension do?

enter image description here

Canvas answered 22/4, 2016 at 5:45 Comment(2)
I was surprised to see the extension repo has absolutely zero info about what to expect after you install it. So far I've installed it and it is completely invisible. So I'm in the same boat as you. (And yes, I did restart vs code).Merilynmeringue
Maybe your tslint.json is invalid. You can try cloning this project and open it with vscode to see if tslint is working. @CharlieFlowersCanvas
W
10

The vscode-tslint extension currently crashes silently when it encounters an invalid config-option. In my case, it was the no-trailing-comma rule which has to be changed to trailing-comma.

More info here: https://github.com/Microsoft/vscode-tslint/issues/66

Washy answered 3/8, 2016 at 9:30 Comment(2)
Running tslint from commandline with a command similar to tslint -c tslint.json 'src/**/*.ts' should surface these errors as a workaround to the extension supporting this betterExorcist
In your .vscode directory, there may be a settings.json which could be overwriting your global vscode configuration settings.json ` { "typescript.tsdk": "./node_modules/typescript/lib", "tslint.configFile": "./src/code/tslint.json" } `Barrada
E
24

On a new machine, I installed VS Code tslint extension before installing tslint itself (via npm), and nothing helped to make it work other than disabling and re-enabling the extension.

enter image description here

Epner answered 6/2, 2017 at 6:30 Comment(0)
W
10

The vscode-tslint extension currently crashes silently when it encounters an invalid config-option. In my case, it was the no-trailing-comma rule which has to be changed to trailing-comma.

More info here: https://github.com/Microsoft/vscode-tslint/issues/66

Washy answered 3/8, 2016 at 9:30 Comment(2)
Running tslint from commandline with a command similar to tslint -c tslint.json 'src/**/*.ts' should surface these errors as a workaround to the extension supporting this betterExorcist
In your .vscode directory, there may be a settings.json which could be overwriting your global vscode configuration settings.json ` { "typescript.tsdk": "./node_modules/typescript/lib", "tslint.configFile": "./src/code/tslint.json" } `Barrada
P
8

VS Code doesn't give any warning. What does this extension do

When in doubt. Restart VSCode.

Poacher answered 22/4, 2016 at 5:47 Comment(0)
T
1

In my case it was the .vscode/tasks.json file. I removed and recreated the file and its all working fine now.

Tribulation answered 23/8, 2016 at 0:48 Comment(1)
Deleting the entire .vscode folder and reloading vscode did the trick for me. I assume I probably only needed to delete .vscode/tasks.jsonFractocumulus
R
1

One possibility is that your tslint.json file may not be in proper JSON format. The tslint.json file as shown when opened in VSCode may analyze it for errors using its jsonc parser, which does not show errors when the last key-value pair has a trailing comma (which is invalid in plain JSON). But, the linting process (or at least ms-vscode.vscode-typescript-tslint-plugin) will silently fail if the tslint.json is not actual JSON.

For example, the following will result in a silent failure, without any indication of where the problem is, due to the trailing comma:

{
  "extends": "tslint:latest",
  "rules": {
    "ordered-imports": false,
    "prefer-for-of": false,
  }
}

Whereas the following will work as expected:

{
  "extends": "tslint:latest",
  "rules": {
    "ordered-imports": false,
    "prefer-for-of": false
  }
}
Romy answered 11/4, 2019 at 7:16 Comment(0)
C
0

Make sure that you've got a valid tslint.json file in your working directory root. There's a good guide here if you scroll down to the readme - https://github.com/palantir/tslint

Try making a deliberate error to a TS file, and you should see that the error gets underlined with a squiggly line. I

Note: I'm using VSCode 1.3.1, and vscode-tslint 0.5.32.

Corrasion answered 14/7, 2016 at 22:23 Comment(0)
P
0

I had the same problem as you. For some reason after updating either TSLint or Visual Studio Code, linting stopped working. After cloning the project Zen recommended in the comments, I received an error saying that TSLint wasn't installed. I installed TSLint globally but not as a dev dependency for my project so after running "npm install tslint --save-dev" Visual Studio Code started linting again.

Pannikin answered 21/7, 2016 at 15:0 Comment(2)
You didn't restart vscode after installing tslint globally, right?Canvas
I've tried restarting multiple times. I've had tslint installed globally for about a month and then I just started having problems recently.Pannikin

© 2022 - 2024 — McMap. All rights reserved.