今天VS Code突然连不上服务器了,解决方式如下:
-
首先ping服务器IP,发现可以ping通。
-
然后检查VS Code连接到其他的服务器,发现没有问题。
-
定位到服务器本身VS Code Server的问题。
VS Code Server 是 VS Code Remote Development 架构的核心组件,它是一个轻量级的服务器程序,运行在远程机器上,为本地 VS Code 客户端提供远程开发环境。
解决方案如下:
bash
# 在远程服务器上执行(通过其他SSH客户端)
ssh linhe@172.28.15.68
# 1. 彻底清理所有VS Code相关文件
echo "=== 彻底清理VS Code Server ==="
rm -rf ~/.vscode-server
rm -rf ~/.vscode-server-insiders
rm -rf ~/.vscode-remote
rm -rf /tmp/vscode-*
rm -rf /tmp/vscode-remote-*
rm -rf /tmp/vscode-server-*
# VS Code Server在首次连接时自动下载到 ~/.vscode-server/
# 如果这些文件损坏、版本不匹配或权限错误,会导致连接失败
# 删除后,VS Code会重新下载完整、干净的版本
# 2. 清理可能存在的锁定文件
find /tmp -name "*vscode*" -delete 2>/dev/null || true
find /tmp -name "*code*" -delete 2>/dev/null || true
# VS Code在 /tmp 目录创建锁文件(lock files)防止多个实例冲突
# 如果进程异常退出,锁文件可能残留,阻止新进程启动
# 这些文件通常命名为 vscode-*.lock 或 code-*.pid
# 3. 清理用户进程
pkill -f "vscode-server" 2>/dev/null || true
pkill -f "code-server" 2>/dev/null || true
# VS Code Server进程可能在后台残留
# 这些进程占用端口、文件锁或内存资源
# 新进程无法启动或端口冲突导致连接失败
# 4. 检查并清理可能存在的残留进程
ps aux | grep -E "(vscode|\.vscode)" | grep -v grep
# 确认是否还有VS Code相关进程在运行
# 如果有,可能需要手动终止或重启服务器
echo "清理完成"