VS Code远程SSH连接报错:Cannot read properties of undefined (reading 'replace')求根因及方案
解决VS Code Remote SSH连接报错:TypeError: Cannot read properties of undefined (reading 'replace')
报错信息
[18:33:55.749] Resolver error: TypeError: Cannot read properties of undefined (reading 'replace') at Object.a [as sanitizeConnectionToken] (/Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:691806) at Object.C [as findRunningServer] (/Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:626542) at async /Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:622510) at async T (/Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:619351) at async Object.t.resolveWithLocalServer (/Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:622460) at async Object.t.resolve (/Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:644834) at async /Users/username/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/extension.js:1:727082 [18:33:55.751] ------
报错重现步骤
- 保持VS Code处于远程连接状态
- 离开电脑(AFK),等待连接自然断开
- 重新尝试远程连接,触发上述报错
根本原因
该错误源于Remote SSH扩展在尝试读取本地运行的服务器连接令牌时,令牌值为undefined,调用replace方法时触发类型错误。通常是连接异常断开后,VS Code缓存的连接状态文件损坏或令牌数据丢失,导致扩展无法正确解析旧的连接信息。旧版本(如0.84.0)的Remote SSH扩展存在此已知bug。
正确解决办法
方法1:升级Remote SSH扩展到最新版本
旧版本的该bug已在后续更新中修复,打开VS Code扩展面板,找到Remote - SSH扩展,点击更新按钮完成升级,重启VS Code后重新连接即可。
方法2:针对性清理Remote SSH缓存(无需删除整个VS Code缓存)
- 完全关闭VS Code
- 打开终端,执行命令清理Remote SSH的服务器缓存文件:
若知道具体扩展版本(如0.84.0),可使用更精准的命令:rm -rf ~/.vscode/extensions/ms-vscode-remote.remote-ssh-*/out/server-*rm -rf ~/.vscode/extensions/ms-vscode-remote.remote-ssh-0.84.0/out/server-* - 可选:清理VS Code工作区状态缓存,避免残留异常状态:
rm -rf ~/Library/Application\ Support/Code/User/workspaceStorage/ - 重启VS Code,重新尝试远程连接
方法3:重置Remote SSH扩展状态
- 打开VS Code扩展面板,找到
Remote - SSH扩展 - 点击扩展卡片右下角的齿轮图标,选择「禁用」
- 等待禁用完成后,再次点击齿轮图标选择「启用」
- 重启VS Code后重新连接
方法4:检查本地SSH配置
验证~/.ssh/config文件是否存在语法错误,确保远程主机的连接配置(如Host、HostName、User等)正确无误。
内容的提问来源于stack exchange,提问作者Lilei Zheng
相关产品推荐
相关产品推荐

