如何更改 vscode-server 目录

dvi*_*ber 13 visual-studio-code vscode-remote

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

小智 59

这已经在新版本的 vs-code中解决了,通过设置更改变量remote.SSH.serverInstallPath。示例(来自tankahabir 的评论

"remote.SSH.serverInstallPath": {
    "work": "/test/location",
    "home": "/foobar"
}
Run Code Online (Sandbox Code Playgroud)

  • 澄清一下,键是主机名,值是位置。例如: ```"my.remote-domain.com": "/foo/myname" ``` (22认同)
  • 请注意,目前指定不带最后正斜杠的路径非常重要,因此您需要“/test/location”而不是“/test/location/”。 (3认同)
  • 有没有办法对主机名使用通配符,以便所有主机使用相同的路径? (3认同)

sgX*_*sgX 14

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

如果您的初始安装成功

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

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

  2. 将 vscode-server 移到这个区域

    $ mv ~/.vscode-server 。

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

    $ ln -s /your/big/disk/project/space/.vscode-server ~/.vscode-server

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

    $ find -L ./ -mindepth 15

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

如果您的初始安装失败(由于空间限制,无法在远程系统上提取 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. 将 tarball 从本地系统移动到远程服务器磁盘。下面的命令将它放在远程系统的主目录中。

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

  4. 将 tarball 移动到大的可用空间目录,如下所示:

    $ 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. 在此目录中解压 tarball

    $ 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-server ~/.vscode-server

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

    $ find -L ./ -mindepth 15

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