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,还有其他问题欢迎留言讨论哦!