TypeScript 7 改进“转到实现”的内存使用
发布日期: 2026 年 7 月 30 日
Microsoft 在 TypeScript 的原生语言服务中合并了一项针对“转到实现”功能的内存扩展性修复。
变更内容
语言服务使用广度优先工作列表查找实现。当一个接口成员有许多实现时,重复的全局搜索可能再次返回相同的引用。因此,保留的引用、排队的任务和结果组可能呈平方级增长,并在大型、类型结构复杂的项目中耗尽内存。
此修复会在将引用节点加入工作队列之前进行去重,并避免保留重复的符号定义。回归测试会检查:当实现数量增加一倍时,数据量应近似线性增长,而不是平方级增长。
意义
“转到实现”现在可以处理这种模式,而不会反复保留相同的内部引用。最终的编辑器响应此前已经过重复数据删除,因此此次变更针对的是生成该响应时隐藏的内存占用和工作量。
可用性
此变更在 TypeScript 7.0 发布后合并到 TypeScript 原生代码库中。原始来源并未指出哪个稳定的 npm 版本包含此修复,因此用户在依赖该修复之前应查看已安装版本的发行说明。