内网中如何在Win7下使用VS code远程调试
1 背景介绍
很多时候,我们不得不面对这样的情况,我们工作环境下的机器不能连接外网(Internet),而且,服务器是Linux环境(Ubuntu,CentOS, etc)。如图。
如果必须使用Windows 7版本的话,则在Windows 7 环境下,因其操作系统本身并无SSH功能,所以VS Code只能通过手工方式添加远程调试的插件。
以下将从如何增加Windows的SSH功能,手工增加VS Code的远程调试插件进行阐述。
2 增加Windows 7的SSH功能
在github上下载OpenSSH的Windows程序
选择下载OpenSSH-Win64.zip
将程序解压,放入C:\Program Files文件夹下,然后将可执行程序添加到环境变量,具体操作为:
计算机->(右键)属性->高级系统设置->高级->环境变量->系统变量->Path
在Path中增加新的变量
在Windows 7中打开PowerShell测试一下是否可以通过OpenSSH连接到Linux服务器
按照我使用的环境举例:
Windows 7的IP为192.168.0.108
Linux的IP为192.168.0.107
在Windows 7下以管理员身份运行命令行
1)安装sshd服务
powershell.exe -ExecutionPolicy Bypass -File install-sshd.ps1
2)开放22号端口(如果你在windows关闭了[By cnblogs.com/GoCircle]防火墙并配置了入站规则可以不执行如下命令,多执行不影响)
netsh advfirewall firewall add rule name=sshd dir=in action=allow protocol=TCP localport=22
3)配置开机自启sshd服务
sc config sshd start= auto
3 离线安装VS Code
从官网下载VS Code
我下载的版本是1.64.0
双击安装程序进行安装
打开Help->About,在关于窗口中查看commit id
根据commit id下载对应的VS Code Server
https://update.code.visualstudio.com/commit:${commit_id}/server-linux-x64/stable
4 在服务器中安装vscode-server-linux-x64
将下载好的vscode-server-linux-x64.tar.gz拷贝至服务器中
在用户目录下使用下面的命令创建对应commit id的目录
mkdir -p ~/.vscode-server/bin/${commit_id}
使用下面的命令将vscode-server-linux-x64.tar.gz解压到上面创建好的目录之中
tar zxvf vscode-server-linux-x64.tar.gz -C ~/.vscode-server/bin/${commit_id} --strip 1
解压后效果如图所示
在解压后的目录下创建一个名称为0的文件
touch ~/.vscode-server/bin/${commit_id}/0
5 在vs code中安装remote development插件
在官网下载,注意,界面的右侧有一个Download链接,使用该链接下载.vsix文件
在vs code界面上手动安装remote development插件
如果没有在vs code底部出现远程连接图标,则继续下载Remote-SSH插件,其操作类似上述之步骤,此处不再赘述。
安装成功之后界面如下。
6 连接远程服务器
单击vs code右下角的绿色符号
选择Open SSH Configuration File
在界面中输入要连接的主机
再次单击右下角的绿色符号
选择Connet to Host–>Linux-Server–>选择Linux平台(如果有防火墙则选择允许)–>输入密码即可
单击左侧的目录栏,选择open folder
选择将要进行编辑的目录
7 总结
美观的界面和熟悉的IDE环境能大大提高工作效率,我实在无法忍受VIM和NetBeans,以及不熟悉的Intellj Idea。