RubyMine 2025.2 Help

语言服务

RubyMine 依赖于 TypeScript、Vue、Astro、Svelte 及其他特定框架的语言服务来提供自动补全、代码分析和错误高亮功能。

配置内存处理

尽管 RubyMine 努力实现与语言服务的流畅集成,但仍可能出现由语言服务而非 RubyMine 自身引发的 out-of-memory 错误。

内存处理模式

当语言服务内存耗尽时,RubyMine 会首先尝试重新启动它。 连续两次尝试失败后,语言服务将停止,RubyMine 会在状态栏的 语言服务 小部件中指示错误并显示弹出错误消息。

为防止 out-of-memory 错误或无缝处理该错误,从而确保语言服务稳定运行,您可以按以下两种模式配置内存处理:

自动增加内存

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

RubyMine 会在不提示的情况下持续采用此方式,直到达到最大内存限制(25% RAM),此时语言服务将停止,RubyMine 会显示弹出错误消息。

有关改善情况可能采取的步骤,请参阅 故障排查

设置内存限制

在该模式下,您可以手动指定语言服务可使用的最大内存。 在达到该限制前,每次出现 out-of-memory 错误时,RubyMine 会建议增加 1000MB 内存。

当达到指定限制时,语言服务将停止,RubyMine 会显示弹出错误消息。

有关改善情况可能采取的步骤,请参阅 故障排查

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

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

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

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

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

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

故障排查

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

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

  • IDE 设置中指定的最大内存限制无法满足语言服务的需求。

增加内存分配

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

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

  3. 请逐步增加限制,例如从 4GB 增加到 6GB,再增加到 8GB。 请监视改进情况。

限制项目范围

包含过多文件或依赖的大型项目可能会导致语言服务超负荷。 要减轻大型代码库的负载,请遵循 TypeScript 团队提供的 performance guide 中的建议,尤其是 Using Project ReferencesConfiguring tsconfig.json or jsconfig.json 部分。

    升级或降级

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

      RubyMine 附带了捆绑的语言服务版本。 然而,语言服务的新版本通常包含性能改进。 因此,建议您保持语言服务为最新版本。

      要安装最新版本的语言服务,请打开嵌入式 终端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
    • 如果某个问题在语言服务更新后出现,请考虑降级到旧版本以确认问题是否由更新引起。

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

    如果问题仍然存在,请在 RubyMine issue tracker 中提交问题并附加您的项目文件。 这将帮助我们更高效地复现和调查问题。

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