How to get VSCode to show TypeScript errors for files *not* open in the editor? How to get VSCode to show TypeScript errors for files *not* open in the editor? reactjs reactjs

How to get VSCode to show TypeScript errors for files *not* open in the editor?


As of 14.04.2020 There is an experimental feature in generally available VS Code to enable project wide problem reporting. Add the following to your settings.json:

"typescript.tsserver.experimental.enableProjectDiagnostics": true

It is experimental and can be both overwhelming and underwhelming at the same time.

Watch this space.


As of November 2019, unfortunately this isn't supported by VS Code out of the box. See https://github.com/Microsoft/vscode/issues/13953.

The best workaround that I could find is to add a task to tasks.json that will run tsc --watch, and configure it to run when the workspace or folder is opened.

Below is a sample config for tasks.json. Note that "www" in the snippet below refers to the folder with tsconfig.json that you want to check. Replace it with the name of your own folder, relative to the root of your workspace.

{    "version": "2.0.0",    "tasks": [        {            "label": "tsc watch",            "type": "shell",            "command": "./node_modules/.bin/tsc",            "isBackground": true,            "args": ["--watch", "--noEmit", "--project", "www"],            "group": {                "kind": "build",                "isDefault": true            },            "presentation": {                "reveal": "never",                "echo": false,                "focus": false,                "panel": "dedicated"            },            "problemMatcher": "$tsc-watch",            "runOptions": {                "runOn": "folderOpen"            }        }    ]}

Note that auto-run tasks don't seem to be enabled by default. To opt into auto-run tasks, follow the instructions here: https://stackoverflow.com/a/58866185/126352

This solution was adapted from @molinx's answer in the GitHub issue linked above, and it was improved thanks to @kumar303's comment below.