# 语言服务

> For the complete documentation index, see [llms.txt](https://www.jetbrains.com/zh-cn/help/idea/llms.txt).

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

## 配置内存处理

尽管 IntelliJ IDEA 致力于提供与语言服务的顺畅集成，但仍可能出现由语言服务而非 IntelliJ IDEA 本身引发的  内存不足  错误。

### 内存处理模式

当语言服务运行时内存耗尽，IntelliJ IDEA 会先尝试重新启动它。 在连续两次尝试失败后，语言服务会停止，IntelliJ IDEA 会在状态栏上的   语言服务   微件中指示该错误，并显示一个包含错误消息的弹出窗口。

为防止  内存不足 错误或使其得到无缝解决，从而确保语言服务稳定运行，可以通过以下两种模式配置内存处理：

#### 自动增加内存

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

IntelliJ IDEA 会以静默方式持续采用这种方式，直至达到 RAM 的 25% 最大内存上限，此时语言服务将停止，IntelliJ IDEA 会显示包含错误消息的弹出窗口。

有关可用于改善这种情况的可能步骤的信息，请参阅 [故障排除](#ls_troubleshooting)。

#### 设置内存限制

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

达到指定限制时，语言服务会停止，IntelliJ IDEA 会显示一个包含错误消息的弹出窗口。

有关可用于改善这种情况的可能步骤的信息，请参阅 [故障排除](#ls_troubleshooting)。

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

> **Note:**
> Vue、Svelte、Astro 和其他语言服务的内存处理设置始终继承自 TypeScript 语言服务。

Procedure:

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后转到  `设置 | 语言 & 框架 | TypeScript` 。

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

* 在 语言服务内存 区域中，选择 如果可用，自动增加内存 以增加内存并静默重启语言服务。

* 或者，选择 设置内存限制 并指定语言服务可使用的最大内存。 如果指定的内存大小超过可用 RAM，IntelliJ IDEA 会在工具提示中建议适当的值。 > **Note:** > 确保计算机有足够的可用 RAM。 如果分配量已经很高，例如 8GB+，请考虑 [升级/降级](#ls_upgrade_downgrade)或 [限制项目作用域](#ls_limit_project_scope)。

## 故障排除

### 内存不足错误

当语言服务超过分配的内存限制且无法再处理工作负载时，会发生  内存不足 错误。 这通常由以下原因导致：

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

* IDE 设置中指定的最大内存限制不足以供语言服务使用。

Procedure: 增加内存分配

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后转到  `设置 | 语言 & 框架 | TypeScript` 。

2. 在   语言服务内存   区域中，选择   设置内存限制   选项。

3. 逐步增加限制，例如从 4GB 增加到 6GB，然后增加到 8GB。 监控改进情况。

Procedure: 限制项目作用域

包含过多文件或依赖项的大型项目可能会重载语言服务。 为减少大型代码库中的负载，请遵循 TypeScript 团队提供的 [性能指南](https://github.com/microsoft/Typescript/wiki/Performance)中的建议，尤其是 [使用项目引用](https://github.com/microsoft/Typescript/wiki/Performance#using-project-references)和 [配置 tsconfig.json 或 jsconfig.json](https://github.com/microsoft/Typescript/wiki/Performance#configuring-tsconfigjson-or-jsconfigjson)部分。

> **Note:**
> 这些建议实践适用于使用 TypeScript 语言服务本身的项目，也适用于包含 Vue、Astro 和 Svelte 框架且同样依赖 TypeScript 语言服务的项目。

Procedure: 升级或降级

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

IntelliJ IDEA 随附捆绑版本的语言服务。 但是，较新版本的语言服务通常包含性能改进。 因此，建议保持语言服务为最新状态。

要安装最新版本的语言服务，请打开命令行 shell 或嵌入式   终端  （ `Alt+F12` (Windows), `⌥ F12` (macOS), `⌥ F12` (IntelliJ IDEA Classic (macOS)), `⌘ ⌃ T` (macOS System Shortcuts), `Alt+F12` (XWin), `Alt+F12` (GNOME), `Alt+F12` (KDE), `Alt+F12` (Emacs), `Alt+F12` (Sublime Text), `⌥ F12` (Sublime Text (macOS)), `Ctrl+Alt+1` (Visual Studio), `⌘ ⌃ 1` (Visual Studio (macOS)), `Alt+F12` (NetBeans), `Alt+F12` (Eclipse), `⌥ F12` (Eclipse (macOS))），然后根据所用的语言服务和软件包管理器，输入以下其中一条命令：

TypeScript:

```SHELL
npm install --save-dev typescript

```

或

```SHELL
pnpm add --save-dev typescript

```

或

```SHELL
yarn add --dev typescript

```

Vue:

```SHELL
npm install --save-dev @vue/language-server

```

或

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

```

或

```SHELL
yarn add --dev @vue/language-server

```

Svelte:

```SHELL
npm install --save-dev svelte-language-server typescript-svelte-plugin

```

或

```SHELL
pnpm add --save-dev svelte-language-server typescript-svelte-plugin

```

或

```SHELL
yarn add --dev svelte-language-server typescript-svelte-plugin

```

Astro:

```SHELL
npm install --save-dev @astrojs/language-server

```

或

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

```

或

```SHELL
yarn add --dev @astrojs/language-server

```

* 如果在语言服务更新后出现问题，请考虑降级到上一版本，以确认该问题是否由更新引入。

### TypeScript 服务无法启动

TypeScript 语言服务无法启动，且未显示任何相应的通知。 因此，类型推断不可用，并且不会显示任何补全或导入建议。

Procedure: 增加创业公司超时时间

1. 按 `Ctrl+Alt+S` (Windows), `⌘ Comma` (macOS), `⌘ Comma` (IntelliJ IDEA Classic (macOS)), `⌘ Comma` (macOS System Shortcuts), `Ctrl+Alt+S` (XWin), `Ctrl+Alt+S` (GNOME), `Ctrl+Alt+S` (KDE), `Ctrl+Alt+S` (Emacs), `Ctrl+Alt+S` (Sublime Text), `⌘ Comma` (Sublime Text (macOS)), `Ctrl+Alt+S` (Visual Studio), `⌘ Comma` (Visual Studio (macOS)), `Ctrl+Alt+S` (NetBeans), `Ctrl+Alt+S` (Eclipse), `⌘ Comma` (Eclipse (macOS)) 打开设置，然后转到  `设置 | 高级设置` 。

2. 在   JavaScript 和 TypeScript   区域中，增大   TypeScript 服务创业公司超时   字段中的值。

![TypeScript 服务创业公司超时](https://resources.jetbrains.com/help/img/idea/2026.3/ls_troubleshooting_startup_timeout.png)

### 在 IntelliJ IDEA 问题跟踪器中提交问题

如果问题仍然存在，请在 [IntelliJ IDEA 问题跟踪器](https://youtrack.jetbrains.com/issues/IDEA) 中提交问题，并将项目附加到该问题。 这将帮助我们更高效地重现和调查该问题。

