语言服务
WebStorm 依赖于 TypeScript、Vue、Astro、Svelte 以及其他特定框架的语言服务,以提供自动补全、代码分析与错误高亮显示。
配置内存处理
尽管 WebStorm 致力于与语言服务实现顺畅集成,但仍可能出现由语言服务引起而不是由 WebStorm 本身引起的 内存不足错误。
内存处理模式
当语言服务内存耗尽时,WebStorm 会首先尝试重新启动它。 连续两次尝试失败后,语言服务将停止,WebStorm 会在状态栏中的 语言服务 微件中指示错误,并弹出错误消息窗口。
为防止 内存不足错误或实现无缝解决,从而确保语言服务的稳定运行,您可以按照以下两种模式配置内存处理:
自动增加内存
在此模式下,当即将发生 内存不足错误时,WebStorm 会自动增加 1000MB,并在后台重新启动语言服务。
WebStorm 将以该方式静默运行,直至达到最大内存上限(25% 的 RAM),届时语言服务将停止,WebStorm 会弹出错误消息窗口。
有关改善该情况的可能步骤,请参阅 故障排查。
设置内存限制
在此模式下,您可以手动指定语言服务可使用的最大内存。 在达到该上限之前,WebStorm 会在每次 内存不足错误时建议增加 1000MB。
到达指定上限后,语言服务将停止,WebStorm 会弹出错误消息窗口。
有关改善该情况的可能步骤,请参阅 故障排查。
为 TypeScript 语言服务配置内存处理
按 Ctrl+Alt+S 打开设置,然后转到 。
在 语言服务内存 区域中,选择内存处理模式:
选择 如果可用,自动增加内存 ,以自动增加内存并静默重启语言服务。
或者,选择 设置内存限制 并指定语言服务可使用的最大内存。
如果指定的内存大小超出了可用 RAM,WebStorm 会在工具提示中建议一个合适的值。
故障排查
当语言服务超出其分配的内存限制且无法继续处理工作负载时,会发生 内存不足错误。 通常由于以下原因导致:
当前处理的项目包含大量文件和依赖项。
在 IDE 设置中指定的最大内存限制不足以满足语言服务的需求。
增加内存分配
按 Ctrl+Alt+S 打开设置,然后转到 。
请选择 设置内存限制 选项。
请逐步增加内存上限,例如从 4GB 提高到 6GB,再提高到 8GB。 监控改进情况。
限制项目作用域
包含大量文件或依赖项的大型项目可能会使语言服务超负荷运行。 要减轻大型代码库中的负载,请遵循 TypeScript 团队提供的 性能指南中的建议,尤其是 使用项目引用和 配置 tsconfig.json 或 jsconfig.json部分。
升级或降级
请确保您使用的是语言服务的最新版本。
WebStorm 附带了语言服务的捆绑版本。 然而,语言服务的新版本通常包含性能改进。 因此,建议您保持语言服务为最新版本。
要安装语言服务的最新版本,请打开嵌入的 终端 (Alt+F12 ),然后根据语言服务和您使用的软件包管理器输入以下命令之一:
npm install --save-dev typescript或者
pnpm add --save-dev typescript或者
yarn add --dev typescriptnpm install --save-dev @vue/language-server或者
pnpm add --save-dev @vue/language-server或者
yarn add --dev @vue/language-servernpm install --save-dev svelte-language-server typescript-svelte-plugin或者
pnpm add --save-dev svelte-language-server typescript-svelte-plugin或者
yarn add --dev svelte-language-server typescript-svelte-pluginnpm install --save-dev @astrojs/language-server或者
pnpm add --save-dev @astrojs/language-server或者
yarn add --dev @astrojs/language-server如果在语言服务更新后出现问题,请考虑降级到之前的版本,以确认是否更新引起了该问题。
在 WebStorm 问题跟踪器中提交问题
如果问题仍然存在,请在 WebStorm 问题跟踪器中提交问题,并附上您的项目。 这将有助于我们更高效地复现并分析问题。