0

TypeScript Native 预览版正式发布,带来 10 倍以上编译性能提升

今年 3 月, 微软曾宣布对 TypeScript 编译器及工具链进行 Go 语言重构。今天,微软正式宣布 TypeScript Native 预览版(TypeScript Native Preview)面向开发者广泛开放。 根据官方博客介绍,新版本在多数真实世界项目中带来了 10 倍以上的编译性能提升。

以下是 TypeScript Native 预览版的介绍和获取方式,具体如下:

TypeScript Native 的诞生与性能飞跃

这一版本被内部称为 “Project Corsa”,与当前的稳定版代码库 “Strada”(TypeScript 5.8)形成对比。Corsa 使用 Go 语言重写了核心模块,并通过共享内存并发执行实现显著加速。例如,在大型项目(如 Sentry)中,编译时间从超过 1 分钟缩短至不到 7 秒,速度提升达十倍以上。

获取 TypeScript Native 预览版

开发者可通过以下两种方式体验 TypeScript Native:

通过 npm 安装命令行工具

使用下列命令将其安装到项目中:

npm install -D @typescript/native-preview

该包包含 tsgo 命令行工具,类似于当前的 tsc。运行编译命令如下:

npx tsgo –project ./src/tsconfig.json

目前 tsgo 仍为独立工具,未来将被重命名为 tsc 并整合进官方 typescript 包。

在 VS Code 中启用编辑器支持

开发者可通过 VS Code 扩展市场安装全新的 “TypeScript (Native Preview)” 扩展 Visual Studio Marketplace。启用方法包括:

VS Code 命令面板

在命令面板中执行:TypeScript Native Preview: Enable (Experimental)

设置 UI 开启 Use Tsgo

在设置 UI 中开启 TypeScript > Experimental: Use Tsgo

或通过 JSON 添加配置项:

“typescript.experimental.useTsgo”: true

当前功能支持与开发进展

TypeScript Native 预览版的多个关键模块已经就绪:

更全面的类型检查器支持

JSX 与 JavaScript + JSDoc 类型检查已集成。与 JavaScript 支持相关的实现已被重写,以更好适配现代 JavaScript 开发模式。

编辑器功能的语言服务器进展

团队在基于 LSP 的语言服务中已实现基础功能,包括诊断、跳转定义、悬停提示和代码补全等,未来将支持查找引用、重命名和签名帮助等增强功能。

跨语言 API 通信与同步支持

为确保 TypeScript API 用户的体验一致,团队提供了通过 IPC 与本地进程通信的机制,并构建了 libsyncrpc 库以支持 Node.js 中的同步通信方式。

当前限制与差异说明

尽管 TypeScript Native 已具备广泛可用性,但仍存在以下差异:

  • 不支持 –build、–declaration 等命令行参数
  • JSX 只保留源码形式,暂不支持转换
  • 编辑器功能如自动导入、重命名等仍在开发中
  • 模块解析策略与 TS6.0 后的变化一致,建议使用 nodenext 或 bundler 模式以规避模块解析错误

如遇兼容性问题,建议开发者暂时切换至 Strada 并向官方反馈问题 GitHub issues

未来展望

TypeScript 团队计划在 2025 年晚些时候发布包含完整功能的 TypeScript 7 正式版,覆盖构建模式(–build)、声明生成和完整语言服务功能。在此之前,Corsa 版本将以 nightly 构建形式持续发布,鼓励开发者持续试用并提供反馈。

 

via TypeScript Team

0 评论
内联反馈
查看所有评论
订阅
X

您正在使用 IE 6 浏览器访问本博客。简单几步,您就可以升级:Internet Explorer

X
0
希望看到您的想法,请您发表评论x