SSH和VSCode,无需网络

TiT*_*TAN 4 ssh visual-studio-code vscode-remote

有没有没有互联网的连接方式?从另一个系统下载vscode服务器文件并复制到主机?我读这个,但我无法连接服务器到互联网,他们不会让我做这件事。

avi*_*iso 13

当您连接到主机时,它会执行一个bash脚本,该脚本会获取或卷曲tarball并将其解压缩到您的主目录中的目录中。这是一个离线解决方法。

  1. 尝试连接,让它失败
  2. 在服务器上,获取提交ID

    $ ls ~/.vscode-server/bin
    553cfb2c2205db5f15f3ee8395bbd5cf066d357d
    
    Run Code Online (Sandbox Code Playgroud)
  3. 下载tarball,将$ COMMIT_ID替换为上一步https://update.code.visualstudio.com/commit中的提交编号 :$ COMMIT_ID / server-linux-x64 / stable

  4. 将tarball移至〜/ .vscode-server / bin / $ COMMIT_ID / vscode-server-linux-x64.tar.gz

  5. 在此目录中解压缩tarball

    $ cd ~/.vscode-server/bin/$COMMIT_ID
    $ tar -xvzf vscode-server-linux-x64.tar.gz --strip-components 1
    
    Run Code Online (Sandbox Code Playgroud)
  6. 重新连接

您仍然需要手动安装所有扩展程序。市场上所有扩展旁边都有一个下载按钮。获得.vsix文件后,可以使用扩展管理器中的“ 从VSIX安装”选项通过GUI安装它们。

这有点麻烦,希望他们可以改善此过程,但是如果您有基于网络的主目录,则只需执行一次。

  • 您可以将 `commit:<commit>` 替换为 `latest` 以获得最新版本。示例:“https://update.code.visualstudio.com/latest/server-linux-x64/stable”。尊重表明质量,即“稳定”、“内部”。复制了我的评论[此处](/sf/ask/3967006431/#comment113512044_57601121) (5认同)
  • 对于 Windows 服务器,使用 `server-win32-x64` 而不是 `server-linux-x64` (4认同)
  • 谢谢,它有效,即使没有解压 .tar 文件,只需将其放在那里 (3认同)
  • 我可以确认此方法也适用于远程 Docker 容器。我将 Windows 10 Hyper-V 与 Linux Container 结合使用,并收到“无法下载 VS Code Server (https://update.code.visualstudio.com/commit:$COMMIT_ID/server-linux-x64/stable)” :HTTP 407 - 需要身份验证)```,大概是因为我的公司代理。请注意,如果您像我一样进行了多次安装尝试,那么您将在``~/.vscode-server/bin/``` 中拥有一个文件夹,并为每次尝试附加时间戳。删除所有内容并保留一个仅包含 COMMIT_ID 的文件夹(无时间戳)。 (2认同)

小智 6

打开 vscode -> 关于

Version: 1.46.1

Commit: cd9ea6488829f560dc949a8b2fb789f3cdc05f5d

Date: 2020-06-17T21:17:14.222Z

Electron: 7.3.1

Chrome: 78.0.3904.130

Node.js: 12.8.1

V8: 7.8.279.23-electron.0

OS: Darwin x64 17.7.0
Run Code Online (Sandbox Code Playgroud)

$COMMIT_ID = cd9ea6488829f560dc949a8b2fb789f3cdc05f5d


Jon*_*ker 5

添加新功能以支持离线安装

\n
\n

不过,您现在可以通过远程 - SSH 扩展中的新用户\xc2\xa0setting\xc2\xa0 来解决此问题。如果启用设置\xc2\xa0remote.SSH.allowLocalServerDownload,扩展将首先在客户端上安装 VS Code 服务器,然后通过 SCP 将其复制到服务器。

\n

注意:目前这是一个实验性功能,但将在下一个版本中默认开启

\n
\n

https://code.visualstudio.com/blogs/2019/10/03/remote-ssh-tips-and-tricks

\n

  • 这只解决了客户端可以访问但远程主机不能访问的用例。上面的答案仍然是正确的解决方案。 (6认同)