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