VSCode linux远程开发
VSCode的远程开发功能还是很强大的,同时由于多种语言的开发需要,所以把VSCode当作融合编辑器也没什么问题。
写在前面
VSCode的扩展一般是两种格式:
- .vsix格式的安装包,这种安装包实质上是.zip文件,如果重命名就可以解压缩了
- 源码,一般是托管在github上的
不管是哪种格式,他们里面的核心内容都是一样的,即文件夹结构一般是:
ext-name/
package.json(这个必须有)
README.md
resources
...
在Windows下,把这个ext-name的文件夹放在C:\Users\username.vscode\extensions这个目录下面就可以找到对应扩展了,如果你的VSCode是压缩版的,需要在解压目录下新建一个data子目录,然后,所有的插件都可以装在data/extensions文件夹下面。对于Linux的VSCode服务器,其位置一般是$HOME/.vscode-server/extensions,如果没有extensions这一层目录,则可以手动创建这个目录。
本地VSCode配置
- 下载VSCode并安装
- 安装扩展到本地:Remote - SSH是必须安装的
- 配置本地的ssh_config文件,
Host 192.168.30.128
HostName 192.168.30.128
Port 10022
User root
如果有多个Host可以按照上面的四行逐个添加。
注意:这里的Port一定要和远程服务器开的ssh端口号对应,特别是如果远程的ssh被配置为端口转发给远程服务器内部的docker ssh,这个端口就要改成那个远程服务器转发的的那个端口,这样,就可以链接远程docker进行开发了。
远程服务器/远程docker的配置
VSCode服务器的版本和本地VSCode的版本需要一一对应(这个比较坑):
- 在本地VSCode的
Help->About
查找本地VSCode版本的CommitID(就是第二行Commit:后面的那个值) - 把
https://update.code.visualstudio.com/commit:XXXXXX/server-linux-x64/stable
其中的XXXXXX替换成上面步骤得到的CommitID,然后下载对应的VSCode-server - 在$HOME的位置递归新建文件夹
mkdir -p $HOME/.vscode-server/bin
- 将下载的vscode-server-linux-x64.tar.gz文件放到$HOME/.vscode-server/bin中,并解压缩
- 重命名解开的文件夹名字为CommitID
- 远程服务器开启ssh服务,如果是远程docker,还要额外开启docker的ssh服务,并且docker run的时候加上远程服务器到docker上22端口的映射端口
注意:当把VSCode的扩展上传到服务器上以后,别忘了chmod 777 -R XXX-extension
使得插件里面的文件可以运行,否则,可能导致运行失败