💥 问题:扩展冲突导致语言服务器无法启动

在使用 VS Code 远程连接 (SSH/WSL) 时,由于远程服务器的扩展目录中存在 多个版本、旧版本或损坏的 ms-python 系列扩展(如 ms-python.pythonms-python.vscode-pylance),导致语言服务器启动失败,无法进行代码跳转和智能感知。

错误特征:
输出面板显示 "Couldn't start client Python Tools" 或语言服务器许可相关错误。

✅ 解决方案:清除远程冗余扩展

核心步骤是删除远程机器上所有冲突的 Python 扩展目录,强制 VS Code 重新下载最新版本。

步骤 1: 登录远程服务器并定位目录

通过 SSH 登录到远程机器,并进入 VS Code 扩展安装目录:

cd ~/.vscode-server/extensions
步骤 2: 删除所有冲突的 Python 扩展目录

使用 rm -rf 命令删除所有 ms-python 开头的相关目录。

警告: 确认操作路径正确。这将删除所有 Python 扩展,VS Code 会在下次连接时重新安装。

# 推荐使用通配符,一次性清除所有相关冲突
rm -rf ms-python.debugpy-* ms-python.python-* ms-python.vscode-pylance-*

# 或根据您的原始解决记录,精确删除已知冲突版本
# rm -rf ms-python.debugpy-2024.1.10371006 \
#        ms-python.python-2022.0.1814523869 \
#        ms-python.python-2022.4.0 \
#        ms-python.python-2023.4.1 \
#        ms-python.python-2024.2.1 \
#        ms-python.vscode-pylance-2024.2.106
步骤 3: 重新连接 VS Code
  1. 关闭 所有 VS Code 窗口。
  2. 重新启动 VS Code 并重新连接到远程服务器。

VS Code 将自动检测缺失的扩展,并下载最新且唯一的版本,语言服务器随即恢复正常。

有参考自:
https://github.com/microsoft/vscode-python/issues/2877#issuecomment-429422026

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐