赞
踩
现如今很多公司开发都有内网和外网之分。对于linux开发也是在内网通过ssh远程连接进行开发,vscode自带remote ssh可以进行远程开发代码,因此我将整个流程进行详细阐述下。
网上下载最新的vscode版本,我安装的是这个
由于很多公司内网都连接不上网络,所以我们安装所有的插件都要进行离线安装,具体安装步骤如下:
1) 在外网打开相同版本的VSCode,并在插件栏找到Remote SSH插件
跳转到插件商店网址https://marketplace.visualstudio.com/vscode,点击Download Extension就把插件vsix文件下载下来了
再将下载的vsix文件拷贝到内网里,放在bin目录下
打开CMD,进入这个目录,运行安装程序:
code --install-extension ms-vscode-remote.remote-ssh-0.66.0.vsix
安装成功后,再打开VSCode模块会发现多了个Remote-SSH插件
该方法还可以用来安装其他插件。
安装完ssh后就是要配置远程控制了
点击remote explorer中的"+“或者齿轮标识
点击”+" 就会弹出个框,按照格式要求 ssh username@ip
或者在点击齿轮在config文件中添加,按照如下格式,Host是远程控制的IP,HostName任意,User填写登录用户名
配置好后可以看到remote explorer多了个IP,点击右侧的符号就可以连接上了
这样就配置好了,但连接起来可能会失败,还有两个配置没有配置:
如果是远程局域网段内的本地电脑,需要打开配置文件settings.json,添加remote.SSH.useLocalServer选择True
对于需要连接的Linux服务端需要安装个vscode-server-linux-x64.tar.gz用于联接
a). 根据VSCode版本信息的commitid下载对应的vscode-server-linux-x64.tar.gz
在 https://http://update.code.visualstudio.com/commit:
c
o
m
m
i
t
i
d
/
s
e
r
v
e
r
−
l
i
n
u
x
−
x
64
/
s
t
a
b
l
e
(注意把
:
{commit_id}/server-linux-x64/stable(注意把:
commitid/server−linux−x64/stable(注意把:{commit_id}替换成对应的Commit ID)即下图标红的部分,arm版本的选择这个https://update.code.visualstudio.com/commit:${commit_id}/server-linux-arm64/stable
下载vscode-server-linux-x64.tar.gz
curl -sSL "https://update.code.visualstudio.com/commit:6cba118ac49a1b88332f312a8f67186f7f3c1643/server-linux-x64/stable" -o vscode-server-linux-x64.tar.gz
b)远程ssh登录上linux服务器,将vscode-server-linux-x64.tar.gz传输上去,然后执行如下命令安装
mkdir -p ~/.vscode-server/bin/${commit_id}
tar -zxvf /tmp/vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/${commit_id} --strip 1
touch ~/.vscode-server/bin/${commit_id}/0
之后再重新连接就可以连上了,如果连接成功会显示如之前图片有个绿色的勾号
C/C++ 环境搭建时一直显示**Downloading C/C++ language components (Linux / x86_64)**并且无法打开C/C++:Edit Configurations (JSON)中的c_cpp_properties.json
这是因为C/C++插件安装完后还需要安装依赖文件cpptools-linux.vsix,去https://github.com/microsoft/vscode-cpptools/releases/download/1.6.0/cpptools-linux.vsix上下载一个然后再离线安装就可以了
参考资料:
https://www.cnblogs.com/sinicheveen/p/13812278.html
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。