vlambda博客
学习文章列表

VS Code Server的离线安装过程

背景:

工欲善其事,必先利其器。因为经常要开发Linux平台程序,而工作环境只有Windows桌面端与Linux服务器,并且都是运行在内网环境下,无法直接访问外网。想要在这种环境下找到一个趁手的开发工具,能够运行在Windows系统下,又拥有Linux开发环境(至少能够自动跳转、自动补全),所以我选择了使用VS Code + Remote SSH插件的方案,而问题在于如何在离线的情况下在Linux服务器上部署VS Code Server。

若仅仅只在Windows桌面端使用VS Code,VS Code就只能当作一个编辑器使用,甚至某些Linux平台下标准库函数都无法直接查看函数原型

一、安装SSH工具

Windows端的VS Code与Linux服务器通信是使用的SSH协议,因此需要能够在cmd或者PowerShell终端中使用的ssh软件工具,这种工具有不少,甚至在Windows上安装Git都会附带SSH工具,高版本的Win10自带ssh工具,只需要开启即可。因此随便安装一个SSH工具,在cmd中输入ssh命令,出现下面所示信息,就说明Windows上已经支持ssh命令了


二、安装Remote SSH插件

到 Remote - SSH - Visual Studio Marketplace 下载Remote - SSH插件包,以便离线安装。

VS Code Server的离线安装过程



安装完成后,重载VS Code,发现界面会多出一点东西

三、在服务器上安装VS Code Server

方法1:

在连接外网的正常条件下,点击上图左下角的绿色按钮,标题栏下方会出现一个命令框,输入

ssh [用户名]@[服务器IP]

就能开始让VS Code连接服务器,输入登陆密码后,服务器上会自动开始下载对应版本的VS Code Server。安装完成后,个人用户目录$HOME下会出现一个.vscode-server文件夹,里面有三个目录bin、extensions、data。bin目录下面存放的是VS Code Server程序,extensions目录下是VS Code Server端安装的插件,data目录下是用户数据。那么在服务器上离线安装VS Code Server,只需要在个人用户目录$HOME下新建.vscode-server文件夹,在其中建立bin目录,放置“对应版本”的VS Code Server程序。点击菜单栏中的帮助->关于,可以看到Commit ID,刚好与$HOME/.vscode-server/bin/中文件夹名称相同。其实只需要将这个文件夹打包,放到服务器上对应的位置,就已经安装成功了,这是最方便的做法。


方法2:

不过很多情况下是没有现成的VS Code Server程序的,需要手动下载。记住上面的Commit ID,可以通过下面的链接下载vscode-server-linux-x64.tar.gz。

https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable(注意把:${commit_id}替换成对应的Commit ID)

运行下面两行命令,建立空的$HOME/.vscode-server/bin文件夹。

mkdir -p ~/.vscode-server/bin
rm ~/.vscode-server/bin/* -rf #把$HOME/.vscode-server/bin下的内容删干净,防止出错

然后将vscode-server-linux-x64.tar.gz上传在服务器上的$HOME/.vscode-server/bin文件夹中,解压。

cd ~/.vscode-server/bin
tar -zxf vscode-server-linux-x64.tar.gz
mv vscode-server-linux-x64 ${commit_id} # 注意把:${commit_id}替换成对应的Commit ID

小技巧

如果要将新的服务器上的VS Code Server上安装插件包,最快的办法就是直接将已安装完插件的服务器上的$HOME/.vscode-server/extensions目录打包,解压到新服务器上对应位置。插件包一般没有版本要求,因此VS Code Server版本不同也能正常使用。