我使用 CTRL+SHIFT+P 调用的 VS Code 命令连接到远程服务器远程 SSH:连接到主机...。一切正常。一段时间后,当我尝试使用
code
命令从 vs-code 终端打开新文件时,我会收到以下错误消息:
/some/path/on/remote$ code some_existing_file.py
Unable to connect to VS Code server: Error in request.
Error: connect ENOENT /run/user/1006/vscode-ipc-789269cc-6026-4d15-8ca6-<i_changed_this>.sock
at PipeConnectWrap.afterConnect [as oncomplete] (node:net:1161:16) {
errno: -2,
code: 'ENOENT',
syscall: 'connect',
address: '/run/user/1001/vscode-ipc-789269cc-6026-4d15-8ca6-<i_changed_this>.sock'
}
手动终止所有正在运行的 vs-code 进程可以“解决”问题。这个问题的出现似乎是随机的。有时一小时内发生 3 次,有时一天只发生一次。
vs-code 版本:1.66.0
关于如何解决这个问题有什么建议吗?
我在运行时遇到类似的问题和错误消息
code .
对我有用的解决方案是删除 HOME 的
.vscode-server
目录下的所有内容
rm -rf ~/.vscode-server
现在再次执行
code xxx
命令应该重新安装VS Code Server
文件夹下的.vscode-server
。
你可以在 .bashrc 或你正在使用的任何其他 bash 设置脚本中尝试这个 hack 吗:
if [[ ! -z VSCODE_IPC_HOOK_CLI ]]; then
REMOTE_CODE_BIN_PATH=$(echo $PATH | tr ':' '\n' | grep "/Users/steelphase/.vscode-server/bin/.*/bin")
if [[ -d $REMOTE_CODE_BIN_PATH ]]; then
NEW_PATH=$(echo $PATH | sed -e "s~:$REMOTE_CODE_BIN_PATH~~g")
export PATH="$REMOTE_CODE_BIN_PATH:$NEW_PATH"
fi
fi
这是由于客户端连接到过时的套接字引起的。要简单地解决这个问题,只需通过 SSH 进入服务器,然后终止 VS code 的所有进程即可:
ps -fu $USER | grep vscode | grep -v grep | awk '{print $2}' | xargs kill
然后您可以重新启动 VS code(使用远程 SSH)并重试。