最近在搭建一套VSCode的远端开发环境,主要想解决C/C++代码不能100%跳转的问题。
闲言少叙,安装过程奉上。
2.1安装SSH
由于我们是使用SSH连接远程服务器,因此Windows需要支持SSH。
可以通过安装Git来获取SSH功能,如何验证使用Win+R,输入cmd打开控制窗口,直接输入ssh,如下提示,则代表SSH已经安装成功;
2.2添加插件
使用VSCode最方便的一点,就是有很多插件可供选择。
本次我们需要使用Remote-SSH插件,长这个样子,不要搞错了
安装完插件后,在侧边栏可以看到“远程资源管理器”图标。
2.3配置SSH密钥
目的:将本机添加到远程服务器连接白名单,让服务器知道是已认证的电脑在连接。过程类似于GitHub网站添加本地电脑的SSH公钥。
1、使用如下命令,生成SSH公钥文件。如果已经生成,则可直接使用,跳到步骤二。
#方法一ssh-keygen#方法二,参考使用Git生成密钥ssh-keygen-trsa-C"youremail@example.com"2、一般生成的密钥文件,路径为:C:\Users\user\.ssh,找到公钥文件id_rsa.pub,复制到远程服务器根目录的.ssh文件夹中。
(1)根目录,不一定非要是/.ssh路径,可以是自己的用户目录,类似这样:/zhaochen/.ssh。
(2).ssh文件夹没有怎么办新建一个文件夹,命名为.ssh即可。同时要确认远程服务器是否支持SSH,如果此时正是通过SSH方式连接的,那肯定是支持了。
(1)连接到远程服务器
#标准命令,输入后会提示输入密码sshusername@ip-pport#示例,注:SSH默认为22端口sshzhaochen@192.168.1.1-p22方法二:已经使用SSH方式连接到服务器(2)进入.ssh目录,使用如下命令,生成authorized_keys文件。
catid_rsa.pub>authorized_keys4、在cmd窗口,再次尝试如下,可以看到无需密码,直接连上服务器
1、在.ssh文件夹下,新建authorized_keys文件;
2、将id_rsa.pub文件中的内容全部复制到authorized_keys文件即可;
2.4添加配置文件
目的:配置VSCode连接远程服务器的一些基本信息。
1、点击左侧的“远程资源管理器”图标,点击右上角的小齿轮(设置)
2、在弹出来的窗口中,选择第一个config文件打开,参考下图,填写对应信息
(1)参考上述配置,释义如下
Host<远程主机名称1>HostName<远程主机1IP>User<用户名1>Port
1、进入“远程资源管理器”选项,右键点击主机名;
2、选择一种方式,连接到远程服务器,进行测试;
3、如果连接成功,左下角则会显示当前已连接的主机名。
参考资料
3.1插件安装
当我们搭建好RemoteSSH环境后,VSCode支持在远程服务器安装插件。
此时就可以根据自己的开发习惯,将插件安装到不同地方了。
3.2连接报错
如果错误提示如下:
3.3扩展ssh连接失败
SSH连接远程服务器失败,有如下错误提示:
couldnotestablishconnectiontoXXX,thepathargumentmustbeoftypestring,receivedtypeundefined。问题原因:找不到SSH可执行程序。
解决方法如下:
1、按下F1,输入Remote-SSH:Settings,找到remote.SSH.path,修改此路径为本地Git安装程序中的ssh.exe文件即可;
2、参考下图:
3.4C/C++环境错误
1、错误截图如下:
2、错误日志如下:
3、问题原因:小二猜测,是由于远程服务器脱机使用插件,导致C/C++的扩展安装失败;
4、解决方法,错误日志中已经比较详细。简要描述如下:
(1)手动下载cpptools-linux.vsix文件,放到远程服务器中;网址:Releases·microsoft/vscode-cpptools(github.com)
(2)进入插件选项卡,点击···,选择从VSIX安装...,选中刚刚下载的文件;