RustRover 2025.3 Help

语言服务

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

配置内存处理

尽管 RustRover 力求与语言服务实现流畅集成,但仍可能出现由语言服务而非 RustRover 本身引发的 内存不足错误。

内存处理模式

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

为防止出现 内存不足错误或使其无缝解决,从而确保语言服务稳定运行,您可以按以下两种模式配置内存处理:

自动增加内存

在此模式下,当即将发生 内存不足错误时,RustRover 会自动增加 1000MB 并在后台重新启动语言服务。

RustRover 将默默地继续以此方式运行,直到达到可用内存的 25% 的最大限制,此时语言服务将停止,RustRover 会弹出错误消息。

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

设置内存限制

在此模式下,您可以手动指定语言服务可使用的最大内存。 在达到该限制之前,RustRover 会在每次发生 内存不足错误时建议增加 1000MB。

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

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

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

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

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

    • 选择 如果可用,自动增加内存 以自动增加内存并静默重启语言服务。

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

      如果指定的内存大小超出可用内存,RustRover 会在工具提示中建议一个合适的值。

故障排查

当语言服务超过其分配的内存限制并且无法再处理工作负载时,就会发生 内存不足错误。 通常会由于以下原因出现此类问题:

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

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

增加内存分配

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

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

  3. 逐步增加限制,例如从 4GB 增加到 6GB,再增加到 8GB。 监控改进效果。

限制项目作用域

包含大量文件或依赖的大型项目可能会使语言服务超负荷。 为降低大型代码库的负载,请遵循 TypeScript 团队提供的 性能指南中的建议,尤其是 使用项目引用配置 tsconfig.json 或 jsconfig.json部分。

    升级或降级

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

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

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

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

    如果问题仍然存在,请在 RustRover 问题跟踪器中提交问题,并附上您的项目。 这将有助于我们更有效地复现和排查问题。

      最后修改日期: 2025年 12月 5日