繁体   English   中英

VS Code中的“找不到名称'x'”Typescript错误不一致

[英]Inconsistent “Cannot find name 'x'” Typescript errors in VS Code

我的应用程序编译(转换)就好了,但Visual Studio Code仍然显示很多错误:

在此输入图像描述

在某些情况下(例如angularionic ),问题是通过包含Angular / Ionic而添加的全局变量/命名空间无法识别。 大多数错误的形式为“找不到名字'angular / ionic / ng”(等)。

为了使事情更奇怪,我注意到当我加载VS Code时最初打开的文件根本没有任何错误。 红色下划线错误位于其他选项卡/编辑器中的其他文件中。

这是怎么回事? 我如何让VS Code始终如一地承认这些全局/名称空间确实存在?

在追逐这个问题的许多悲伤的日子之后 - 我终于在VS Code GitHub上找到了一个GitHub问题来解释发生了什么。

TL;博士

我的tsconfig.json文件配置不正确。 为了解决这个问题,我删除了files部分。 您可能还需要在项目中删除它,或者只是“修复”它以包含所有相关的.ts文件。

更长的版本

添加文件[section]将我们的项目限制为这两个文件, 如果打开其他未被这两个文件引用的文件,则它们最终会进入一个独立的虚拟项目 您需要省略文件部分(然后tsconfig.json文件下的所有.ts文件将自动被视为项目的一部分),或者您需要在该部分列出项目的所有文件。

我原来的`tsconfig.json文件是:

{
    "compilerOptions": {
        "target": "es5",
        "sourceMap": true,
        "removeComments": true,
        "noImplicitAny": true
    },
    "files": [
        "typings/index.d.ts",
        "src/typings/index.d.ts"
    ]
}

所以,VS Code认为我的项目只包含两个文件。 我加载的其他.ts文件被认为是“孤立的虚拟项目” - 不难理解它们为什么会产生错误。

我将tsconfig.json文件更改为以下内容:

{
    "compilerOptions": {
        "target": "es5",
        "sourceMap": true,
        "removeComments": true,
        "noImplicitAny": true
    }
}

问题解决了!

在我的情况下,我根本没有tsconfig.json

使用默认值创建它可以解决问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM