【问题标题】:Prevent VSCode from collapsing Observable<boolean | undefined> to Observable<boolean>防止 VSCode 折叠 Observable<boolean | undefined> 到 Observable<boolean>
【发布时间】:2020-10-17 14:21:06
【问题描述】:

我注意到 VSCode 喜欢将 Observable&lt;boolean | undefined&gt; 的返回类型折叠为 Observable&lt;boolean&gt;,这使得只需将鼠标悬停在上面就很难看到某事物的“真实”返回类型是什么它。

我今天更新了一个包,其中方法的返回类型从Observable&lt;boolean&gt; 更改为Observable&lt;boolean | undefined&gt;。这对我的代码库产生了巨大的影响,由于我看不到实际的返回类型,我不得不依赖编译器。

例如,如果我有这段代码(动物比布尔值更有趣):

getAnimal() 
{
    return timer(1000, 1000).pipe(map(timer => (timer % 0 == 0) ? <const>'cat' : <const>'dog'));
}

当我将鼠标悬停在显示Observable&lt;"cat" | "dog"&gt;的方法上时

但如果我把它改成这样:

getAnimal() 
{
    return timer(1000, 1000).pipe(map(timer => (timer % 0 == 0) ? <const>'cat' : undefined));
}

然后它将undefined“折叠”到类型中。

如何让 VSCode 显示 Observable&lt;'cat' | undefined&gt;Observable&lt;boolean | undefined&gt;

我正在使用打字稿 3.9.5。和严格的空检查。

【问题讨论】:

  • 您确定timer % 0 是正确的吗?因为任何 mod 0 都是 NaN。
  • 对不起,我间隔了,本来应该是 2

标签: typescript visual-studio-code


【解决方案1】:

那太愚蠢了。我想我一定有太多的 .json 配置文件。

我什至没有在它使用的那个中启用它:

 "strictNullChecks": true,

如果有疑问,请运行命令 Typescript: Go to project configuration,您将看到正在使用的 tsconfig.json 文件。

另见How to make VSCode show me strictNullChecks Typescript errors

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-29
    • 1970-01-01
    • 2019-04-30
    • 2019-12-25
    相关资源
    最近更新 更多