TypeScript 支持自定义自动类型获取范围,

kuhbmx9i  于 2个月前  发布在  TypeScript
关注(0)|答案(5)|浏览(45)

搜索词

自动类型获取范围,自定义类型获取,从自定义范围获取类型

建议

能够在 .tsconfig 和/或 IDE设置中指定额外的范围进行类型获取,以便在 @types 之外进行搜索。

用例

具有大量JavaScript代码的私有仓库,以及少量希望生成准确类型定义的TypeScript开发者,同时修改/添加声明文件到JavaScript项目具有较高的门槛。这与具有 react@types/react 的公共生态系统类似。

示例

一个新的字符串数组参数,用于搜索范围:

{
  "typeAcquisition": {
    "searchScopes": [
      "@companyname-types",
      "@types"
    ]
  }
}

这也将允许覆盖 @types 范围。第一个匹配声明的范围应该获胜。

检查清单

我的建议满足以下准则:
[X] 这不会对现有的TypeScript / JavaScript代码造成破坏性更改
[X] 这不会改变现有JavaScript代码的运行时行为
[X] 这可以在不根据表达式的类型发出不同的JS的情况下实现
[X] 这不是一个运行时特性(例如新的表达式级语法)

mspsb9vt

mspsb9vt1#

评论:@ahejlsberg让我提出这个请求,我很高兴自己研究并实施它,将其变成一个PR,但我不确定从哪里开始。

2vuwiymt

2vuwiymt2#

据我所知,今天在编译器方面实际上可以非常接近实现这个目标(或者说,除非你有必须维护的一些非常特定的边缘情况,否则你可以做到这一点)。通过使用typeRoots编译器选项。但这仍然不会触发编辑器ATA(尽管如果需要配置,它是否真的自动?)

nfeuvbwi

nfeuvbwi3#

如果按照我正确阅读的文档,typeRoots禁用了ATA?这似乎不理想,如果我们还想使用现有的@types/*采集。

roqulrg3

roqulrg34#

这与typeRoot不同。typeroots假定包已经下载并在磁盘上可用。如果我正确理解这个建议,你希望IDE在其他注册表/范围内查找包。

6ss1mwsb

6ss1mwsb5#

@mhegazy,是的,我认为"其他注册表"对于这个请求来说有点超出范围,否则就是。我正在寻找的是替代范围。

相关问题