方法简介
VSCode提供了两种连接服务器的方法,分别使用Remote - SSH
和Remote - Tunnels
插件。本文介绍使用Remote – SSH连接服务器。需要注意,使用Remote – SSH外网客户端访问内网服务器需要中转机作为跳转,此处不再介绍如何设置中转机。若无中转机,可以使用Remote - Tunnels
连接服务器,使用方法可参考VSCode使用插件Remote-Tunnels连接服务器
以 linux 服务器为例,项目位于远程内网服务器,通过 VS Code 同步远程服务器环境并在本地调试服务器代码(注意:无需将远程服务器代码同步到本地)。
本方法旨在从本地 VS Code 对远程服务器代码进行调试,若进行长时间的训练模型,为避免网络不稳定导致训练中断,建议使用 XRDP 或 VNC 登录到容器中运行。
VS Code 连接服务器
安装 Remote-SSH 插件
点击左侧的扩展按钮(或用 Ctrl+Shift+X),搜索插件 Remote - SSH
进行安装
打开 Remote-SSH 配置文件
安装完后会在左侧生成远程连接的图标,点击此图标,然后选择设置图标
点击弹出的 config 文件,在文件中填写配置,Host 为在 VS Code 内显示的名称,可以随意填写,HostName 是远程服务器的 IP 地址,User 是用于登录的用户名称
Remote-SSH 配置
内网访问
按照如下格式填写服务器相关配置信息
Host 服务器名称(任意取)
HostName 服务器 IP
User 登录用户名
Port SSH 端口
# 填写好之后,保存关闭文件。
外网访问
外网访问服务器需要使用中转服务器作为跳板机。主要在 SSH 配置中添加中转服务器信息,按照如下格式填写相关配置信息
Host 中转机名称(Jump_Internet)
HostName 中转机 IP
User 中转机用户名
port 中转机端口
IdentityFile 密钥文件路径(若无密钥,注释本行)
Host 目标服务器名称(任意取)
HostName 服务器 IP
User 登录用户名
Port SSH端口
ProxyJump 中转机(Jump_Internet)
# 填写好之后,保存关闭文件。
点击远程连接的图标,选择 “Connect to Host in New Window” or “Connect to Host in Current Window”
输入登录密码即可连接远程服务器
需要注意的是,外网连接过程中会弹出两次密码验证框,第一次为中转机相关的密码,第二次为目标服务器登录密码。
正常情况下,经过上述操作即可在 VS Code 连接到服务器,打开服务器上的项目即可进行调试运行程序。
若服务器网络不畅,可能无法在服务器顺利安装VS Code Server。可根据下方内容重新安装 VS Code Server。
离线安装 VS Code Server
离线安装分为两种情况:
本地主机可以连接 Internet,服务器网络不畅或不能连接 Internet
在这种情况下,我们可以设置 Remote.SSH(在本地下载 VS Code Server,然后将其传输到服务器),操作如下:
按组合键Ctrl+,
来打开设置,搜索 Remote.SSH: Local Server Download
选择 always
然后执行上节步骤4-5,Remote-SSH 会自动在本地下载 VS Code Server 并使用 SCP 将其传输到服务器
本地主机和服务器处于同一局域网,但都不能连接 Internet
VS Code Server默认安装在个人用户目录 $HOME 下的 .vscode-server 文件夹,里面有三个目录 bin、extensions、data。bin 目录下面存放的是 VS Code Server 程序,extensions 目录下是 VS Code Server 端安装的插件,data 目录下是用户数据。下面给出离线安装方法。
从本地 VS Code 的 “帮助-关于” 中获取 commit_id 信息:
在其他能够联网的主机上,用红框中的信息替换下面链接的 ${commit_id} 得到下载链接,下载 vscode-server-linux-x64.tar.gz
https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
打开本地终端,解压并传输文件到服务器的安装目录,也可以使用文件传输工具(WinSCP,FileZilla)
# 在服务器创建安装目录
mkdir -p ~/.vscode-server/bin/${commit_id}
# 在本地将安装压缩包传输到服务器
scp -r -P port path-to/vscode-server-linux-x64.tar.gz username@server_ip:~/.vscode-server/bin
# 在服务端将vscode-server-linux-x64.tar.gz解压到安装目录
tar -xvf ~/.vscode-server/bin/vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/${commit_id} --strip 1
2024年后远程端的 .vscode-server 目录结构发生变化:
.vscode-server
┣━ 📁bin # 存放旧方法下的vscode commit相关文件
┃ ┗━ 📁${commit_id1}
┃ ┗━ 📁${commit_id2}
┃ ┗━ ···
┣━ 📁cli # 存放新方法下的vscode commit相关文件
┃ ┗━ 📁servers
┃ ┃ ┗━ 📁Stable-${commit_id}
┃ ┃ ┃ ┗━ 📁servers
┃ ┃ ┃ ┗━ ···
┃ ┃ ┗━ ···
┃ ┗━ 📜iru.json # 存放最近的vscode commit_id
┣━ 📜code-${commit_id} # 存放vscode_cli_alpine_x64_cli.tar.gz解压后名为code的文件,并将其改名为code-${commit_id}
┣━ 📁data
┗━ 📁extensions
现在需要安装两个文件,两个文件的下载地址如下:
x86:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-x64.tar.gz
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode_cli_alpine_x64_cli.tar.gz
arm:
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode-server-linux-arm64.tar.gz
https://vscode.download.prss.microsoft.com/dbazure/download/stable/${commit_id}/vscode_cli_alpine_arm64_cli.tar.gz
第一个文件 vscode-server-linux-x64.tar.gz
解压解包后名为 vscode-server-linux-x64
文件夹改名为 server
放在 /home/${user}/.vscode-server/cli/servers/Stable-${commit_id}/
目录下.
第二个文件 vscode_cli_alpine_x64_cli.tar.gz
解压解包后名为 code
的文件改名为 code-${commit_id}
放在/home/${user}/.vscode-server/
目录下
本小节摘自https://blog.csdn.net/qq_43623902/article/details/136258880,详情可查阅原博文。
在 VS Code Server 上安装插件
为了更加方便的调试和运行代码,建议在服务器容器内的 VS Code Server 里安装 Python 和 Pylance 插件
若服务器网络不畅,可能无法顺利安装插件。可以按照下述方法在服务器 VS Code Server 里离线安装插件。
使用能够联网的本地主机在 VS Code插件市场下载离线 VS Code 插件
利用传输工具或终端将插件传输到服务器,终端传输命令可参考上方 SCP 用法
(也可以直接将本地主机上的插件文件拖拽到 VS Code 的远程项目目录)
根据下图从 VSIX 安装,找到传输到服务器的插件以完成安装
部分内容参考自丰臣英俊-VScode实现本地与远端同步开发的两种方式
__EOF__
本文作者: qiuhlee 本文链接: https://www.cnblogs.com/qiuhlee/p/17729647.html 关于博主: 评论和私信会在第一时间回复。或者直接私信我。 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处! 声援博主: 如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。