什么是 TypeScript 7 native preview?
TypeScript 7 是 TypeScript 编译器及相关工具的原生移植版本。这是一项重大变革为 TypeScript 编译器和语言服务带来了原生执行速度与共享内存并行处理能力。我们在大型代码库中实测编译速度最高提升 10 倍同时内存占用也大幅降低。如果您正在开发大型 TypeScript 或 JavaScript 项目整体开发体验将会得到显著提升。除了编译速度更快之外TypeScript 语言服务的性能也得到了大幅提升。我们实测发现项目加载时间下降了约 8 倍。性能优化并不仅限于加载速度所有与 TypeScript 语言服务交互的功能整体运行速度都会得到全面提升。受益于此次优化的部分 Visual Studio 功能包括- 智能感知与代码补全代码补全和参数信息的展示速度将大幅提升尤其是在大型项目中此前您可能会明显感受到加载延迟。- 查找所有引用在整个解决方案中搜索引用的速度大幅提升。- 转到定义跳转到定义的响应速度更快。- 错误诊断输入代码时波浪下划线和错误列表的更新速度更快。- 项目加载时间在 Visual Studio 中打开 TypeScript 和 JavaScript 项目的速度将显著提升加载时间大约下降了 8 倍。如果您正在处理大型代码库将会明显感受到整体开发体验的提升。您无需花费大量时间等待 IDE 响应能把更多时间高效投入到应用程序的开发工作中。有关 TypeScript 7 及性能优化的更多详情敬请参阅《Announcing TypeScript 7.0 Beta》。使用不同的 TypeScript 版本Visual Studio 自带内置版本的 TypeScript 编译器和语言服务适用于项目未指定具体使用版本的场景。从本次版本开始该内置版本升级为 TypeScript 7 Beta。如果您希望使用其他版本可以在项目中自行安装Visual Studio 会优先使用项目本地版本而非内置版本。禁用 TypeScript 7 native preview如果您想恢复使用旧版的 TypeScript 语言服务可以在 Visual Studio 中禁用 TypeScript 7 native preview。打开 Tools Options Preview Features搜索“native preview”。取消勾选 Enable JavaScript/TypeScript Native Language Service Preview 选项然后重启 Visual Studio 即可。使用 TypeScript 6.xGA如需使用当前稳定版本请在项目中安装 typescript 包。npm install -D typescript^6.0.0使用特定的 TypeScript 7 native preview 版本如果您想固定使用特定版本的原生预览功能请安装 typescript/native-preview 包。npm install -D typescript/native-previewbeta在这两种情况下Visual Studio 都会检测您 node_modules 中的版本并使用该版本而非内置 SDK。已知问题TypeScript 7 为 Visual Studio 带来了显著的性能提升我们也在持续优化使用体验。以下是我们正在积极修复的已知问题该列表并非完整罗列。- 智能感知您可能会发现部分场景下不会弹出代码补全提示。在 .cshtml 文件中script标签内部可能无法显示 TypeScript 补全列表。在确认函数最后一个参数的补全项时可能会自动删掉右括号。按下 Ctrl空格键 可临时规避该问题。-代码操作与重构快速修复Ctrl.暂不可用仅能显示基于 Copilot AI 的建议。整理导入项命令CtrlR、CtrlG同样暂不可用。-导航与搜索编辑器顶部的导航栏下拉菜单无法显示文档符号。查找所有引用ShiftF12仅展示平铺列表缺少语义分组read/write/declaration且跨文件引用可能存在缺失。代码搜索结果可能出现标题与描述不匹配的情况。-CodeLens引用次数例如“19 references”不会显示在接口和类声明的上方。-悬浮提示框与旧版语言服务相比悬浮提示框缺少符号图标且文字颜色显示不一致。-代码片段插入代码片段CtrlK、CtrlX在 JavaScript 文件中无法使用。-JSDoc在带参数的函数上方编写 /** 注释时无法自动生成包含 param 条目在内的 JSDoc 。-格式设置在 Tools Options Text Editor JavaScript/TypeScript Formatting 中取消勾选 Format on open block { 选项后该设置未生效。-任务列表如果一个 TypeScript 文件中同时包含 TODO 注释和名为“TODO”的变量任务列表可能会错误地显示重复任务。-文件与文件夹重命名在 TypeScript 项目中重命名文件或文件夹时无法同步更新其他文件中的导入路径。-文件监视功能在 Visual Studio 外部修改文件时编辑器不会检测到变更直至在 IDE 中打开并修改该文件后才会识别。外部编辑产生的错误不会显示在错误列表中。我们十分感谢您的反馈我们正努力实现功能完全对等。反馈上报如果您对 TypeScript 编译器或语言服务有反馈意见最佳反馈提交渠道是 typescript-go GitHub 代码仓库。如果您遇到仅针对 Visual Studio 的专属问题可通过开发者社区向我们反馈您可以通过“报告问题”功能提交程序漏洞或故障也可以提交新功能建议以及对现有功能的优化建议。我们非常希望您能体验全新使用界面并告知我们您的使用感受。欢迎体验并向我们分享您的反馈意见。