如何更改 vscode-server 目录

How to change vscode-server directory

我正在尝试使用 vscode 远程 ssh 扩展并连接到 Linux 可以访问我的文件的机器。 Vscode 在用户主目录下的 Linux 机器上安装服务器,由于公司政策,我的配额非常有限。 有没有办法配置 vscode 在其他位置安装服务器?

不幸的是,VSCode 还没有直接的方法安装到自定义目录中。您可以按照以下步骤将其手动移动或安装到不同的目录中。

如果您的初始安装成功

  1. 从远程桌面终端导航到所需的项目space目录

    $ cd /your/big/disk/project/space

  2. 移动vscode-服务器到这个区域

    $ mv ~/.vscode-服务器 .

  3. 在您的主目录中创建 .vscode-server 的符号链接。在此命令中使用绝对路径以避免循环链接。

    $ ln -s /your/big/disk/project/space/.vscode-服务器 ~/.vscode-服务器

  4. 用下面的命令确认没有循环链接,它不应该return任何东西。

    $ 查找 -L ./ -mindepth 15

  5. 再次从您的 VSCode 重新连接。现在,当 VSCode 在您的主目录中查找远程服务器时,它将无缝地重定向到不同的目录。

如果您的初始安装失败(由于 space 限制无法在远程系统上提取 vscode-server 等原因)。我不得不让它以这种方式工作。

  1. 使用以下命令在远程服务器上获取 vscode-server 提交 ID,类似于 'e2d4cc38bb5da82wb67q86fd50f84h67bb340987'。从这里开始,将 $COMMIT_ID 替换为您的实际提交 ID。

    $ ls ~/.vscode-server/bin

  2. 下载 tarball 用本地系统上一步的提交号替换 $COMMIT_ID。或者,如果您在远程系统上有出站连接,您可以直接在那里下载并跳过第 3 步。

    https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable

  3. 将tar球从本地系统移动到远程服务器磁盘。下面的命令将它放在远程系统的主目录中。

    $ scp -P 22 vscode-server-linux-x64.tar.gz remoteID.remote.system.url.com:~/

  4. 将tar球移动到大型免费space目录如下:

    $ mkdir -p /your/big/disk/project/space/.vscode-server/bin/$COMMIT_ID/

    $ mv ~/vscode-server-linux-x64.tar.gz /your/big/disk/project/space/.vscode-server/bin/$COMMIT_ID/

  5. 在这个目录中提取tar球

    $ cd /your/big/disk/project/space/.vscode-server/bin/$COMMIT_ID

    $ tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1

  6. 在您的主目录中创建 .vscode-server 的符号链接。在此命令中使用绝对路径以避免循环链接。

    $ ln -s /your/big/disk/project/space/.vscode-服务器 ~/.vscode-服务器

  7. 用下面的命令确认没有循环链接,它不应该return任何东西。

    $ 查找 -L ./ -mindepth 15

  8. 重新连接。现在,当 VSCode 在您的主目录中查找远程服务器时,它将无缝地重定向到不同的目录。

这已在 vs-code 的新版本中解决 here, change the variable remote.SSH.serverInstallPath through settings. Example (from tankahabir's comment)

"remote.SSH.serverInstallPath": {
    "work": "/test/location",
    "home": "/foobar"
}