TypeScript 7 进展 – 2025年12月

发布: (2025年12月3日 GMT+8 01:37)
4 min read

Source: Hacker News

December 2nd, 2025

今年早些时候,TypeScript 团队宣布我们已经将编译器和语言服务移植到原生代码,以利用更好的原始性能、内存使用和并行性。这项工作(代号 “Project Corsa”,即将更名为 “TypeScript 7.0”)是一项重要的工程,过去几个月我们取得了巨大进展。以下是最新的更新。

编辑器支持与语言服务

TypeScript 的原生预览现在已经快速、稳定且易于使用——包括在你的编辑器中。语言服务(编辑器功能背后的引擎)是原生移植工作的核心部分,可通过 Visual Studio Code Marketplace 进行试用,且每日更新。

现在可用的关键编辑器功能:

  • 代码补全(包括自动导入)
  • 转到定义 / 转到类型定义 / 转到实现
  • 查找所有引用
  • 重命名
  • 快速信息 / 悬停提示
  • 参数签名帮助
  • 格式化
  • 选择范围
  • 代码镜头(Code Lens)
  • 调用层次结构
  • 文档符号
  • 缺少导入的快速修复

这些操作在任何 TypeScript 或 JavaScript 代码库中都可使用,包括使用项目引用的项目。语言服务已为可靠性和共享内存并行性重新架构,提供更快的加载时间、更低的内存占用以及更流畅的编辑体验。如有需要,扩展允许你在 VS Code 内置的 TypeScript 体验和全新的原生预览之间切换。

编译器

原生移植的编译器也在快速推进。每晚的预览构建发布在 npm 包 @typescript/native-preview 下。使用以下命令安装:

# local dev dependency
npm install -D @typescript/native-preview

# global install
npm install -g @typescript/native-preview

该包提供一个 tsgo 命令,功能与 tsc 相同;两者可以并行使用。

类型检查等价性

在约 20 000 条编译器测试用例中,只有 74 条在 TypeScript 6.0 与原生预览之间存在差异(大多是未完成的工作或有意的更改)。这意味着你可以放心地使用 TypeScript 7 来对项目进行类型检查。

构建特性

增量构建、项目引用以及 --build 模式已全部移植,并因原生代码性能和共享内存并行性而显著加速。

# Running tsc in --build mode...
tsc -b some.tsconfig.json --extendedDiagnostics

# Running the new compiler in --build mode...
tsgo -b some.tsconfig.json --extendedDiagnostics

即使不使用 --incremental,完整构建相较于 6.0 编译器也常常实现接近 10 倍的提速。

示例速度对比

项目tsc (6.0)tsgo (7.0)Δ(秒)加速比
sentry133.08 s16.25 s116.84 s8.19×
vscode89.11 s8.74 s80.37 s10.2×
typeorm15.80 s1.06 s14.20 s9.88×
playwright9.30 s1.24 s8.07 s7.51×

与 TypeScript 5.9 的预期差异

虽然许多差距已经弥合,但仍有一些注意事项。部分是临时性问题,将在最终 7.0 发行前解决;另一些则源于为提升默认 TypeScript 体验而做出的长期决策。

弃用兼容性

TypeScript 7.0 将移除在 6.0 中已标记为即将弃用的行为和标志。请参阅 6.0 版即将弃用的列表(issue tracker)。值得注意的更改包括:

Back to Blog

相关文章

阅读更多 »

编译器优化的到来 2025

抱歉,我需要您提供要翻译的具体摘录或摘要内容,才能为您进行翻译。请粘贴您想要翻译的文本。