VS CODE 远程 ssh `code` 命令无法正常工作

问题描述 投票:0回答:3

我使用 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

关于如何解决这个问题有什么建议吗?

visual-studio-code
3个回答
3
投票

我在运行时遇到类似的问题和错误消息

code .

对我有用的解决方案是删除 HOME

.vscode-server
目录下的所有内容

rm -rf ~/.vscode-server

现在再次执行

code xxx
命令应该重新安装
VS Code Server
文件夹下的
.vscode-server


0
投票

你可以在 .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

0
投票

这是由于客户端连接到过时的套接字引起的。要简单地解决这个问题,只需通过 SSH 进入服务器,然后终止 VS code 的所有进程即可:

ps -fu $USER | grep vscode | grep -v grep | awk '{print $2}' | xargs kill

然后您可以重新启动 VS code(使用远程 SSH)并重试。

© www.soinside.com 2019 - 2024. All rights reserved.