如何使VSCode显示*未*在编辑器中打开的文件的TypeScript错误?

时间:2019-03-16 20:58:16

标签: reactjs typescript visual-studio-code create-react-app

在我的create-react-app@2.1.8 TypeScript / React应用中,TS编译器错误仅显示在“问题”窗格中,显示了我在VS Code编辑器中打开的文件。结果,有时我直到真正运行应用程序时才发现错误。

打开工作区时或将更改保存到文件时,如何让TypeScript自动检查所有代码文件中的编译器错误?

我尝试将"watch": "tsc --watch"作为脚本添加到package.json中,然后在集成终端面板中执行npm run-script watch,但这有两个问题:

  • 错误显示在终端窗格中,但不填充VSCode中的“问题”窗格
  • 我必须手动运行它,而不是在工作区加载时自动启动

有更好的解决方案吗?

顺便说一句,这是与Show project wide TypeScript problems/errors in webstorm相同的问题,但是关于Visual Studio Code而不是webstorm。

2 个答案:

答案 0 :(得分:24)

2020.04.04 起,一般可用的VS Code中有一项实验性功能可以启用项目范围的问题报告。将以下内容添加到您的settings.json

"typescript.tsserver.experimental.enableProjectDiagnostics": true

这是实验,可以同时使您感到压倒和压倒。

观看此space

答案 1 :(得分:1)

不幸的是,截至2019年3月,VS Code尚不支持此功能。参见https://github.com/Microsoft/vscode/issues/13953

我能找到的最佳解决方法是来自上述GitHub问题中的@molinx的答案。摘录如下:

1)添加任务。请注意,以下代码段中的“ www”是指您要检查的带有tsconfig.json的文件夹。

{
    "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"
        }
    ]
}

2)要在启动时运行,这是上面配置海报的推荐内容。请注意,我还没有尝试过,所以YMMV:

  

使用此扩展程序在启动时运行任务:https://marketplace.visualstudio.com/items?itemName=yukidoi.blade-runner