PyCharm 2025.2 Help

语言服务

PyCharm 依赖于 TypeScript、Vue、Astro、Svelte 以及其他框架专属语言服务来提供代码补全、代码分析与错误高亮功能。

配置内存处理

尽管 PyCharm 力求与语言服务实现平滑集成,但仍可能出现由语言服务引起而非 PyCharm 自身导致的 out-of-memory错误。

内存处理模式

当语言服务内存不足时,PyCharm 会首先尝试重启该服务。 在连续两次尝试失败后,语言服务将停止,PyCharm 会在状态栏的 语言服务 组件中指示该错误,并弹出错误信息提示框。

为防止 out-of-memory错误或自动解决错误,从而确保语言服务稳定运行,您可以采用以下两种模式配置内存处理:

自动增加内存

在此模式下,当即将发生 out-of-memory错误时,PyCharm 会自动增加 1000MB 内存并在后台重启语言服务。

PyCharm 将安静地持续此策略,直到达到最大内存限制(25% 的 RAM),此时语言服务停止并弹出错误信息提示框。

如需获取改善当前状况的可行措施,请参阅 故障排查

设置内存限制

在此模式下,您需要手动指定语言服务可用的最大内存。 在未达到此限制前,PyCharm 会在每次 out-of-memory错误发生时建议增加 1000MB 内存。

当达到指定限制后,语言服务将停止,PyCharm 会弹出错误信息提示框。

如需获取改善当前状况的可行措施,请参阅 故障排查

为 TypeScript 语言服务配置内存处理

  1. 通过按 Ctrl+Alt+S 打开设置,并导航到 设置 | 语言与框架 | 语言服务 | TypeScript

  2. 语言服务内存 区域中,选择内存处理模式:

    • 选择 在可用的情况下自动增加内存 以自动增加内存并静默重启语言服务。

    • 或者,选择 设置内存限制 并指定语言服务的最大可用内存。

      如果指定的内存大小超过可用 RAM,PyCharm 会在工具提示中建议合理值。

故障排查

当语言服务超出其分配的内存限制且无法继续处理工作负载时,会出现 out-of-memory错误。 通常由于以下原因导致:

  • 当前项目包含大量文件和依赖项。

  • 在 IDE 设置中指定的最大内存限制不足以支持语言服务。

增加内存分配

  1. Ctrl+Alt+S 打开设置并导航到 设置 | 语言与框架 | 语言服务 | TypeScript

  2. 请选择 设置内存限制 选项。

  3. 逐步提高内存限制,例如从 4GB 增至 6GB,再提高至 8GB。 监测效果变化。

限制项目范围

包含过多文件或依赖项的大型项目可能导致语言服务过载。 为减少大型代码库的负担,请遵循 TypeScript 团队提供的 性能指南中的建议,尤其是 Using Project ReferencesConfiguring tsconfig.json or jsconfig.json章节。

    升级或降级

    • 请确保使用的是最新版本的语言服务。

      PyCharm 随附已打包的语言服务版本。 但较新版本的语言服务通常具备更好的性能表现。 因此,建议将语言服务保持为最新版本。

      要安装最新版本的语言服务,请打开嵌入式 终端Alt+F12 ),并根据所使用的语言服务和包管理器输入如下命令之一:

      npm install --save-dev typescript

      pnpm add --save-dev typescript

      yarn add --dev typescript
      npm install --save-dev @vue/language-server

      pnpm add --save-dev @vue/language-server

      yarn add --dev @vue/language-server
      npm 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-plugin
      npm install --save-dev @astrojs/language-server

      pnpm add --save-dev @astrojs/language-server

      yarn add --dev @astrojs/language-server
    • 如果在更新语言服务后出现问题,建议降级至旧版本以验证是否由更新引入问题。

    在 PyCharm 问题跟踪器中提交问题

    如果问题仍然存在,请在 PyCharm issue tracker中提交问题并附上您的项目。 这将有助于我们更高效地复现并排查问题。

      最后修改日期: 2025年 9月 26日