这里需要讲述的是, java代码项目源码放在linux服务器上面, 使用vscode启动wsl远程调试, 项目运行在linux环境里, 以便一些个环境配置, 在部署上线的时候, 可以省下很多时间去兼容…
这里使用的是springboot项目


vscode远程调试linux代码, 进行debug

  • linux系统准备
  • 安装jdk
  • 安装maven
  • window配置
  • 配置vscode免密登录
  • 安装vscode插件


linux系统准备

安装jdk

这里需要使用jdk11版本, 我是从jdk8转过来的, 目前代码内容没有因为版本问题出现过报错
下载jdk11环境, 在linux系统中找一个合适的位置解压就可以了

安装maven

参考我的另一篇文章 linux服务器搭建maven, 使用阿里云镜像, 指定maven仓库位置

配置完maven环境再回到这里继续说

将项目文件源码整个文件夹移动到linux服务器上面, 记住移动到哪了, 后面需要将项目导入到vscode中

window配置

这篇文章只需要参考下载地址等信息就可以了, 下载完安装上就可以了, 不需要后面的一系列设置
测试远程ssh功能
输入指令

ssh root@192.168.5.32

配置vscode免密登录

打开window的cmd命令行窗口
输入指令

ssh-keygen

中间过程需要多次点击回车按钮确认

vscode远程调试centos vscode远程调试java_maven


将秘钥发送到目标机器上,

输入bash命令, 即可进入到linux操作命令模式

执行如下代码

ssh-copy-id -i id_rsa.pub root@192.168.5.55

此时再进行远程连接时, 就可以不输入密码了

ssh root@192.168.5.55

安装vscode插件

安装和使用 Remote Development
Remote Development插件提供了通过ssh的方法连接到远程机器上,另外插件还提供了连接到WSL和容器的功能。

VScode 快捷键:Ctrl+Shift+X,查找 Remote Development 并安装 Visual Studio Code Remote``Development Extension Pack
VScode 快捷键:Ctrl+Shift+P,输入:Remote-SSH: Settings

打开VSCode

依次点击左侧的 1 Remote Explorer > 2 Add New

vscode远程调试centos vscode远程调试java_linux服务器_02


然后3 输入ssh登录的信息回车:

vscode远程调试centos vscode远程调试java_linux服务器_03


最后选 4,保存配置到 .ssh\config 文件里 (这个文件可以删除,然后重复1-4的过程)

vscode远程调试centos vscode远程调试java_linux系统_04

最后看到的样子如下。这个配置是全局的,只要 .ssh 目录下的config 存在,就会出现相应的配置(按Remote Explorer后)。当然也可以直接更改这个配置文件(yaml样式),加入更多的远程机器。然后按 5 Connect to Host …从新窗口打开远程机器。

vscode远程调试centos vscode远程调试java_linux服务器_05


连接到远程服务器成功后,如下图。按6打开你的远程工程目录。

vscode远程调试centos vscode远程调试java_linux系统_06


最后看看远程工程打开的样子:

vscode远程调试centos vscode远程调试java_linux系统_07


右下角的红圈:

Allow是个安全提示,可能是我没有用root登录。
Reload 是个插件。更改配置之后重新load窗口。

其实这时候调试还不行,还要安装 Debugger For Java,我这个已经装好了:

vscode远程调试centos vscode远程调试java_linux系统_08


打开源代码,双击设置断点。按F5启动调试。一切顺利。记得按F5, debugger for java插件第一次加载的时候 ,项目启动的快捷键可能不会显示出来, 在启动类里 按F5就可以启动了.

如果之前使用的window系统的jdk配置和maven配置, 记得在设置里修改成在linux服务器上的jdk和maven的路径

在下载插件的界面, 可以看到一个按钮, 是用来同步window系统和linux系统的插件的, 默认远程连接上以后, vscode并不会将window环境下安装的插件自动同步到linux的, 需要手动下载, 下载之前也可以看到是提示下载到linux服务器.

如果你的debugger for java一致不好使, 那么我建议你将jdk修改成jdk11, 目前我使用没有什么问题

至此 问题完美解决