这里的“重置”通常有两种理解:

- 重启单个或所有 LSP 客户端:这是最常用、最快速的“软重置”方法。
- 完全删除并重新安装 LSP 服务器:这是更彻底的“硬重置”方法,用于解决配置损坏或服务器版本冲突等深层问题。
下面我将根据不同的编辑器和平台,为你提供详细的命令和步骤。
核心概念:LSP 是什么?
在操作之前,简单理解一下:
- LSP (Language Server Protocol):是一个协议,你的编辑器(如 VS Code, Neovim)通过它来与一个专门的语言服务器通信。
- 语言服务器:是一个后台程序,它负责分析代码、提供错误诊断、代码补全、跳转定义等功能。
pyright是 Python 的服务器,typescript-language-server是 TypeScript 的服务器。
“重置 LSP” 通常是重启你的编辑器让它与语言服务器重新建立连接,或者重新安装那个语言服务器程序。
Visual Studio Code (VS Code)
VS Code 是最广泛使用 LSP 的编辑器,操作也最简单。

重启语言服务器(最常用)
这是首选的“软重置”方法,无需重启整个 VS Code。
-
通过命令面板(Command Palette):
- 按
Ctrl+Shift+P(Windows/Linux) 或Cmd+Shift+P(macOS) 打开命令面板。 - 输入并选择
Developer: Reload Window,这个命令会重新加载 VS Code 窗口,所有扩展(包括 LSP 服务器)会随之重启。 - 或者,输入
Developer: Restart Language Server,这个命令会尝试重启当前文件所对应的语言服务器,更精确。
- 按
-
通过文件图标:
- 在编辑器窗口的右下角状态栏,你会看到当前文件的语言("Python" 或 "TypeScript")。
- 点击这个语言名称,会弹出一个菜单。
- 选择
Restart Language Server。
重置/重新安装语言服务器(更彻底)
如果重启无效,可能是语言服务器本身或其配置出了问题。

-
找到并卸载语言服务器扩展:
- 打开扩展面板 (
Ctrl+Shift+X)。 - 在搜索框中输入你使用的语言服务器的名称,
Python(由 Microsoft 发布,内置了 Pylance 服务器) 或TypeScript and JavaScript Language Features。 - 找到对应的扩展,点击 卸载 按钮。
- 打开扩展面板 (
-
重新安装扩展:
- 在同一个扩展面板中,再次搜索并点击 “重新安装” 按钮,或者直接卸载后重新搜索并安装。
-
清理缓存(高级):
- 如果问题依旧,可以尝试清理 VS Code 的缓存。
- 打开命令面板 (
Ctrl+Shift+P),输入并运行Developer: Delete VS Code Server Cache,这会删除所有工作区的服务器缓存,下次启动时会重新下载,相当于一个彻底的重置。
Neovim / Vim
Neovim 对 LSP 的支持通常通过 lspconfig 插件实现。
重启 LSP 客户端(最常用)
在 Neovim 中,你可以针对单个缓冲区或整个会话重启 LSP。
-
重启当前缓冲区的 LSP:
- 在普通模式下,执行命令:
LspRestart - 这会重启当前文件类型对应的 LSP 服务器。
- 在普通模式下,执行命令:
-
停止当前缓冲区的 LSP:
- 执行命令:
LspStop - LSP 会停止工作,代码高亮、补全等功能会消失。
- 执行命令:
-
重新启动 LSP:
- 执行命令:
LspStart - 这会重新启动并附加 LSP 服务器到当前缓冲区。
- 执行命令:
重新安装 LSP 服务器(更彻底)
这通常通过你的包管理器(如 mason)来完成。
-
使用 Mason (推荐):
- 如果你使用
mason.nvim来管理 LSP 服务器,可以:- 打开 Mason 窗口:
Mason - 找到你想重置的服务器(如
pyright,tsserver)。 - 将光标移到它上面,按
x键,选择Uninstall(卸载)。 - 卸载后,再次将光标移到它上面,按
i键,选择Install(重新安装)。
- 打开 Mason 窗口:
- 如果你使用
-
手动安装/更新:
- 如果你不是用 Mason,而是手动安装的,你需要:
- 找到 LSP 服务器在系统中的安装位置(
npm -g list tsserver或pip show pyright)。 - 删除对应的文件夹。
- 重新通过包管理器安装(
npm install -g pyright或pip install pyright)。
- 找到 LSP 服务器在系统中的安装位置(
- 如果你不是用 Mason,而是手动安装的,你需要:
其他编辑器
-
Sublime Text:
- 重置 LSP 通常指重启插件,最简单的方法是重启 Sublime Text。
- 或者,通过命令面板 (
Ctrl+Shift+P) 运行LSP: Restart all language servers。
-
Emacs:
- 如果你使用
lsp-mode或eglot,重启 LSP 通常意味着重启对应的模式。 - 对于
lsp-mode,可以执行M-x lsp-restart-workspace或M-x lsp-restart-workspace-and-all-servers。 - 最彻底的重置是重启 Emacs。
- 如果你使用
总结与最佳实践
| 操作场景 | 推荐方法 | 命令/步骤 |
|---|---|---|
| 代码补全/诊断突然失灵 | 重启语言服务器 | VS Code: Ctrl+Shift+P -> Developer: Reload WindowNeovim: LspRestart |
| 重启后问题依旧 | 卸载并重新安装 LSP 扩展/服务器 | VS Code: 卸载 -> 重新安装语言扩展 Neovim (Mason): Mason -> x (卸载) -> i (安装) |
| 怀疑配置或缓存损坏 | 彻底清理并重建 | VS Code: Ctrl+Shift+P -> Developer: Delete VS Code Server CacheNeovim: 删除 ~/.local/share/nvim/lsp 目录下的缓存,然后重启 |
| 想快速检查 | 检查 LSP 状态 | VS Code: 点击右下角语言名 Neovim: LspInfo |
最佳实践建议:
- 首选“重启”:90% 的小问题通过重启语言服务器或编辑器窗口就能解决。
- 次选“重装”:如果重启无效,问题通常出在服务器本身或其配置上,重新安装是最有效的修复手段。
- 善用日志:如果问题复杂,可以查看 LSP 的日志来定位问题,在 VS Code 中,可以通过命令面板打开
Developer: Toggle Developer Tools在控制台查看日志,在 Neovim 中,可以查看LspLog。
