离线win/mac下vscode客户端通过ssh连接linux服务器

1、下载 vscode,这个网上教程一大堆就不一一介绍了,自行百度

建议安装蓝色的版本,最后图标是蓝色的。下载网址:Visual Studio Code - Code Editing. Redefined

2、win 系统或 mac 系统安装openssh,这个也一大堆教程,可以自行百度

3、安装 vscode 插件

下载网址:Extensions for Visual Studio family of products | Visual Studio Marketplace

需要什么插件直接搜就行,注意下载的地方在很不起眼的地方,如下图:

注意选择匹配你系统的版本,要远程连接,图中的这个是必须的,还有以下按需安装:

Remote - SSH: Editing Configuration Files(远程必备)

Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code

Python(深度学习,大语言模型必备)

Python Debugger(方便调试)

Pylance(一个高性能的、功能丰富的Python语言服务器)

Jupyter(Jupyter笔记本支持,交互式编程和计算)

下载的文件后缀是.vsix ,下载完在 vscode 拓展界面进行安装,如下图:

4、远程连接服务器(重头戏)

一般联网的情况下,vscode 的服务端会自动在远程服务器进行安装,但是我们的离线的情况,所以我需要将这个步骤手动化。

vscode 安装服务端一般的步骤是先查找服务有没有对应的文件夹,如果没有就远程下载,远程下载失败以后本地下载,本地下载失败就报错,一般为“Could not establish connection to : XHR failed.”

解决这个问题的步骤就是手动在服务器安装好这个文件夹,先说目前网上最多的解决方案,我感觉是老版本的 vscode 可以这样解决,反正我这样没解决,如下:

方案 1

我参考的是这篇博客:无网络机器上,win下vscode客户端通过ssh连接linux服务器_could not establish connection to xhr failed-CSDN博客

步骤一:查看commit id,mac 系统是在这个位置:

步骤二:在该链接下手动下载server的压缩包vscode-server-linux-x64.tar.gz

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

注意将${COMMIT_ID}替换为刚刚查到的commit id。

实际上vscode版本还分stable和insider的,vscode为蓝色图标的为stable版,绿色图标的为insider版。insider版需要将上述链接最后的stable改成insider。

对于arm的64位机器,需要将链接中的x64改成arm64,如下所示。(对于一些较新版本的vscode客户端,可能还没有arm64的服务端,笔者使用1.72.2版本的客户端是有的)

https://update.code.visualstudio.com/commit:${COMMIT_ID}/server-linux-arm64/stable

步骤三:自己找一个传输软件,或者用 u 盘、移动硬盘都可以。上传该压缩包到linux服务器的这个目录下~/.vscode-server/bin

步骤四:解压,并更改解压文件夹名字

cd ~/.vscode-server/bin
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 ${COMMIT_ID}

这个时候服务器.vscode-server文件夹下的结构应该是如下所示:

好,这样就算安装完成了,但是我的 vscode 是版本: 1.92.0 (Universal),这样操作下来啥用也没有,还是连接不上,然后我看了一下可以联网的服务器已经安装好的配置,发现问题了。

方案 2

先放一下我离线安装好.vscode-server文件夹的目录结构,如下:

明显可以看出区别了吧,文件夹结构不一样,文件夹名字都不一样,而且比方案1 还要多一个文件;结构中的 data 和 extensions 不用管,后面会自动生成,.开头的文件也不用管,一般你们都有。

现在服务器里创建对应的文件夹,将方案 1 中的安装包部署好:

mkdir -r .vscode-server/cli/servers

cd .vscode-server/cli/servers

mkdir Stable-${COMMIT_ID}
# 将${COMMIT_ID}替换成你的 vscode 的 commit id
# 例如 mkdir Stable-b1c0a14de1414fcdaa400695b4db1c0799bc3124

# 将下载的vscode-server-linux-x64.tar.gz放到Stable-${COMMIT_ID}文件夹下,解压
tar -zxf vscode-server-linux-x64.tar.gz
# 修改文件夹名字为server
mv vscode-server-linux-x64 server

 接下来下载另外一个文件,就是结构中以 code 开头的文件,链接如下:

https://update.code.visualstudio.com/commit:${COMMIT_ID}/cli-alpine-x64/stable
# 将${COMMIT_ID}替换成你的 vscode 的 commit id
# 例如 https://update.code.visualstudio.com/commit:b1c0a14de1414fcdaa400695b4db1c0799bc3124/cli-alpine-x64/stable

 下载的文件压缩包名为:vscode_cli_alpine_x64_cli.tar.gz

部署该文件:

# 该文件放在.vscode-server文件夹下
cd ~/.vscode-server
tar -zxf vscode_cli_alpine_x64_cli.tar.gz

# 解压完成文件名为 code,修改文件名
mv code code-${COMMIT_ID}
# 将${COMMIT_ID}替换为刚刚查到的commit id
# 例如:code-b1c0a14de1414fcdaa400695b4db1c0799bc3124

然后删除下载的压缩包,再使用 vscode 的ssh 进行远程连接就不会出错了。

如果还出现其他问题,欢迎留言讨论!

5、服务器安装扩展

有些时候需要在连接服务器后也可以进行编译或者 debug 的操作,这个时候因为离线无法直接安装,离线安装其实也很简单,先在有网的电脑上下载好插件,比如我想用的就是:

Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code

Python(深度学习,大语言模型必备)

Python Debugger(方便调试)

Pylance(一个高性能的、功能丰富的Python语言服务器)

Jupyter(Jupyter笔记本支持,交互式编程和计算)

这些需要在 vscode 本地先安装过才行,然后在服务器上安装就可以启用了,一定要对应版本,不能错了,下载地址和上面一样,上面的图再用一遍,注意这个时候选择的平台就是 linux 的了,不要选错了。

下载到服务器中或者要离线连接的客户端都可以,安装步骤也如vscode 安装插件一样,但是要保证安装时已经 ssh 连接服务器了,不然无法安装或者安装出错,步骤如下:

可以选择服务器的文件夹,也可以选择本地文件夹,看你下载的 linux 版的.vsix文件在哪里了。

安装完成后服务器的extensions 文件夹下就会出现如下的文件了,这就说明扩展安装好了

ok,还有其他问题欢迎留言讨论哦!

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值