Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 如何让VSCode显示编辑器中*未*打开的文件的TypeScript错误?_Reactjs_Typescript_Visual Studio Code_Create React App - Fatal编程技术网

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

Reactjs 如何让VSCode显示编辑器中*未*打开的文件的TypeScript错误?,reactjs,typescript,visual-studio-code,create-react-app,Reactjs,Typescript,Visual Studio Code,Create React App,在我的创建中-app@2.1.8TypeScript/React app,TS编译器错误仅显示在我在VS代码编辑器中打开的文件的问题窗格中。因此,在我实际运行应用程序之前,我有时不会捕捉错误 如何让TypeScript在打开工作区或保存文件更改时自动检查所有代码文件中的编译器错误 我尝试在package.json中添加“watch”:“tsc--watch”作为脚本,然后在集成终端窗格中执行npm run script watch,但这有两个问题: 错误显示在终端窗格中,但不在VSCode中填

在我的
创建中-app@2.1.8
TypeScript/React app,TS编译器错误仅显示在我在VS代码编辑器中打开的文件的问题窗格中。因此,在我实际运行应用程序之前,我有时不会捕捉错误

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

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

  • 错误显示在终端窗格中,但不在VSCode中填充问题窗格
  • 我必须手动运行它,而不是在加载工作区时自动启动它
有更好的解决办法吗


顺便说一句,这是与相同的问题,但关于Visual Studio代码而不是webstorm。

截至2019年11月,不幸的是,VS开箱即用代码不支持这一点。看

我能找到的最佳解决方法是向tasks.json中添加一个task,它将运行
tsc--watch
,并将其配置为在打开工作区或文件夹时运行

下面是tasks.json的示例配置。请注意,下面代码段中的“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",
            "runOptions": {
                "runOn": "folderOpen"
            }
        }
    ]
}
请注意,默认情况下,自动运行任务似乎未启用。要选择自动运行任务,请按照以下说明操作:

此解决方案是根据上面链接的GitHub问题中的答案改编的,并且由于下面的评论,它得到了改进。

自2020年4月14日起,在中提供了一个实验性功能,可用于支持项目范围内的问题报告。将以下内容添加到您的
设置.json

"typescript.tsserver.experimental.enableProjectDiagnostics": true
它是实验性的,可以是压倒性的,也可以是不令人信服的


看这个。

我将要发布版本1.30添加了
“runOn”:“folderOpen”
@kumar303,这是一个有用的改进!我相应地更新了我的答案。谢谢这个功能以前工作过吗?刚刚被新的更新淘汰了?我需要稍微更改任务,使它在Windows中工作。
“命令”:“调用”
,以及像
“args”这样的args中指向tsc的路径:[“node\u modules/.bin/tsc”、“--watch”、“--noEmit”、“--project”、“www”,
对我有效的配置是
“typescript.tsserver.experimental.enableProjectDiagnostics”:true
。团队正在积极处理此问题。@DawsonB感谢您提供的信息,我已经更新了ticket@JurijsKovzels您在manI中添加了此设置,重新启动VS代码,但它没有显示任何问题?(尽管我有一些问题)