搜索词
自动类型获取范围,自定义类型获取,从自定义范围获取类型
建议
能够在 .tsconfig
和/或 IDE设置中指定额外的范围进行类型获取,以便在 @types
之外进行搜索。
用例
具有大量JavaScript代码的私有仓库,以及少量希望生成准确类型定义的TypeScript开发者,同时修改/添加声明文件到JavaScript项目具有较高的门槛。这与具有 react
和 @types/react
的公共生态系统类似。
示例
一个新的字符串数组参数,用于搜索范围:
{
"typeAcquisition": {
"searchScopes": [
"@companyname-types",
"@types"
]
}
}
这也将允许覆盖 @types
范围。第一个匹配声明的范围应该获胜。
检查清单
我的建议满足以下准则:
[X] 这不会对现有的TypeScript / JavaScript代码造成破坏性更改
[X] 这不会改变现有JavaScript代码的运行时行为
[X] 这可以在不根据表达式的类型发出不同的JS的情况下实现
[X] 这不是一个运行时特性(例如新的表达式级语法)
5条答案
按热度按时间mspsb9vt1#
评论:@ahejlsberg让我提出这个请求,我很高兴自己研究并实施它,将其变成一个PR,但我不确定从哪里开始。
2vuwiymt2#
据我所知,今天在编译器方面实际上可以非常接近实现这个目标(或者说,除非你有必须维护的一些非常特定的边缘情况,否则你可以做到这一点)。通过使用
typeRoots
编译器选项。但这仍然不会触发编辑器ATA(尽管如果需要配置,它是否真的自动?)nfeuvbwi3#
如果按照我正确阅读的文档,
typeRoots
禁用了ATA?这似乎不理想,如果我们还想使用现有的@types/*
采集。roqulrg34#
这与
typeRoot
不同。typeroots假定包已经下载并在磁盘上可用。如果我正确理解这个建议,你希望IDE在其他注册表/范围内查找包。6ss1mwsb5#
@mhegazy,是的,我认为"其他注册表"对于这个请求来说有点超出范围,否则就是。我正在寻找的是替代范围。