TypeScript 原生预览(基于 Go 的 tsgo)—— ~10 倍更快的类型检查和编辑器服务

TypeScript开发工具构建IDE

关键更新

微软发布了 TypeScript 原生移植的广泛预览(代号“Corsa”),提供了一个基于 Go 的编译器可执行文件(通过 @typescript/native-preview 包分发的 tsgo)和一个实验性的 VS Code 扩展。原生预览在大型代码库的编辑器项目加载和类型检查时间上显示出大约 8-10 倍的改进,并提供了一个预览语言服务以提高编辑器的响应速度;现在可以尝试,但缺少一些生产特性(声明发出、--build/project-references、完整的 LSP 特性),并且明确是一个自愿参与的预览。 (devblogs.microsoft.com)

重要性

  • 开发者反馈循环:大型单体仓库和重型 TypeScript 项目将看到显著缩短的编辑/输入反馈和更快的重构操作(重命名/查找引用),这大大减少了开发者的空闲时间和审查周转时间。
  • CI 和成本:完整/并行的类型检查任务和增量检查可以在很短的时间内完成,如果可以安全地在管道中测试预览,将降低 CI 的实际时间和运行成本。
  • 迁移影响和风险:预览速度快但功能不完整——暂时不要全面切换 CI 或生产构建。实际路径:在本地尝试 tsgo(npx tsgo),为团队子集启用 VS Code 原生预览,使用现有的 tsc 运行完整的测试套件和声明发出路径以验证一致性,如果运行试验任务,则在 CI 中固定预览版本。预计生态系统工作(与 tsc/tsserver 紧密集成的工具)将在原生 API 和 IPC 方法成熟时需要更新。 (devblogs.microsoft.com)

来源

继续阅读