产生情况
自从VSCode更新之后,今天在维护公司之间的项目时,有一些tsx文件报出了“表达式生成的联合类型过于复杂,无法表示。ts(2590)”错误。并且智能提示需要加载好久,甚至直接无法使用,文件之间关联跳转也需要好久才能定位到目标文件。
为什么会这样
在笔者多次百度、Google无果后,在查看VSCode的更新日志中,偶然间发现新版的VSCode(1.77)更新了将默认的Typescript版本更新至了5.0。
但在我项目中的Typescript版本是4.9,在尝试修改Typescript版本后,上述的问题都得以解决。
如果操作
可以升级项目的Typescript版本,或者可以在项目的工作区做单独的配置,指定为项目的node_modules中安装的Typescript版本:
{
"typescript.tsdk": "node_modules/typescript/lib"
}
或者:
- 打开任意一个JS或TS文件
Ctrl+Shift+P打开命令行- 输入
Select TypeScript Version
- 选择
使用工作区版本 x.x.x