利用VScode连接远程服务器进行代码调试及可视化界面

一、准备工作

测试 ssh 连接服务器。win+R 并输入 cmd,接着在命令行执行:

ssh 用户名@服务器IP地址

输入密码即可连接服务器。

二、连接过程

step1:配置文件

在 VSCode 的扩展页面搜索 Remote Development 套件并安装。
在这里插入图片描述
安装完后左侧菜单栏会出现一个远程资源管理的图标,选择 SSH Targets,再点击齿轮图标,并在右侧打开你的 config 配置文件。(由于VSCode版本问题,你的可能不是SSH Targets,而是 Remotes(Tunnels/SSH)
在这里插入图片描述
在配置文件中设置你的服务器信息,输入 HostName 服务器IP地址和 User 服务器用户名,保存以后左侧会出现对应机器名称。

Host 机器名称,可以任意
    HostName IP地址
    Port 端口号(不加Port,则端口号默认为22)
    User 服务器登录用户名

在这里插入图片描述
更改设置,File->Preferences->Settings->Extension->Remote-SSH,找到 Show Login Terminal 并勾选。
在这里插入图片描述
在这里插入图片描述

step2:连接服务器

在上一步保存好的服务器名称旁,点击连接按钮后,选择你的服务器平台。
在这里插入图片描述

【2025-01-14更新】按照上面方法手动配置 config 后连接服务器出现了 timed out 问题,不明白是为什么,如果你确认本地 terminal ssh 连接没问题的话,可以试试这样连接:

点击SSH旁边的加号+,在弹出的输入框里输入你的 ssh 连接命令,此时 VSCode 会自动在 config 里生成一个配置文件。
在这里插入图片描述
输入 ssh 连接命令:ssh [user]@[IP] -p [port]
在这里插入图片描述
选择 Linux:

在这里插入图片描述

如果没有设置公钥私钥,那么需要在 terminal 输入密码才能登录成功。连接服务器后,点击右侧的加号 + 就能打开一个新的终端窗口,和 XShell 没有区别哦。

在这里插入图片描述
打开服务器文件,只需要在文件菜单下,点击 Open Folder,就能在右侧窗口查找自己想要打开的文件路径了,点击 OK 打开。此时对文件的编辑就可以实时同步到服务器上。
在这里插入图片描述
同样的,如果需要连接多个服务器,只需要在 config 配置文件中添加相应的配置即可。
在这里插入图片描述

step3:调试代码

安装 Python 扩展

在这里插入图片描述

在左下角选择调试代码需要的conda虚拟环境,输入路径便可搜索。

在这里插入图片描述

在这里插入图片描述

这样就可以在代码中加断点进行debug啦!

在这里插入图片描述

[2022-03-03 问题] 今天换了新电脑重装VSCode,按上面的流程走下来左下角不显示 Python 解释器环境,查询无果后,把 Python 扩展降版本(降到V2021.12)就解决了。
在这里插入图片描述

其实左下角不显示Python解释器环境也可以正常使用,ctrl+P --> 输入 >python: 选择 Python: Select Interpreter 就可以选择Python解释器环境啦。

在这里插入图片描述

注意:一般无法选择conda虚拟环境、无法添加断点、Ctrl+鼠标左键无法跳转到代码模块等问题都是未安装 Python 扩展导致的,只要在 VSCode 的扩展里安装 Python 即可。

其他问题

显式设置训练参数

跑代码通常喜欢在命令行指定一些训练参数,比如 python test.py --gpu 0,1 --config xxx/xx/config.yaml命令,在代码调试时,我们希望把 --gpu--config 提前设置好。

选择 Run -> Add Configuration... 打开 launch.json 文件。
在这里插入图片描述
launch.json 文件中添加一个字典,重点是将你需要的参数写入 args 列表。
在这里插入图片描述
这时,可以在 Debug 里看到我们设置好的参数环境,选择该环境。
在这里插入图片描述
按 F5 就可以开始愉快的 debug 啦!
在这里插入图片描述

更改代码运行根目录

如果以根目录 root 打开代码,那么 debug 时整个工程的运行根目录就是 root。如果想要按照 root 打开,但将运行根目录设置为 root/src,一个最简单的办法就是从 root/src 下打开项目,但是这样不是很方便。

这里介绍一种办法,通过修改 launch.json 来修改默认目录。

step1:首先打开 launch.json 文件。如果没有文件可以直接创建一个,如果已经有了可以点击右上角的齿轮符号打开 json 文件。
在这里插入图片描述
在这里插入图片描述
step2:添加下面的代码,${workspaceFolder} 就是打开工程的根目录,后面可以接上任意你想要指定的目录。

"cwd": "${workspaceFolder}/src"

在这里插入图片描述

三、远程调试使用图形化界面(GUI)

step1:下载安装 Xming

安装 Xming 自定义安装路径,其余选项默认就行,打开XLaunch,记住Display number(这里显示为0),一直点下一页直至完成。
在这里插入图片描述
打开Xming安装目录,打开X0.hosts(这个0就是上面的Display number),在localhost下面添加远程服务器的IP地址。
在这里插入图片描述
step2:配置本地VSCode

本地VSCode安装 Remote-SSHRemote X11 插件
在这里插入图片描述
在这里插入图片描述
打开config,给之前添加的服务器配置加上下面三句代码:

ForwardX11 yes
ForwardX11Trusted yes
ForwardAgent yes

在这里插入图片描述
在这里插入图片描述
选择 Run -> Add Configuration... 打开 launch.json 文件,添加红框内代码。如果已经有了env,直接在里面添加 DISPLAY 就行。

"env":{
	"DISPLAY": "localhost:0.0"
}

这里 0.0 就是第一步 Xming 的 Display number(下图有误,应该为 localhost:0.0)

在这里插入图片描述

step3:设置服务器环境变量

~/.bashrc 添加环境变量,并使用 source ~/.bashrc 更新。

>> vi ~/.bashrc
# add environment variable to X11
export DISPLAY="localhost:0.0"
>> source ~/.bashrc

验证环境变量是否设置成功

>> echo $DISPLAY
localhost:0:0

step4:验证是否能够正常使用图形化界面

验证工程程序可使用服务器GUI:可使用下面python程序,如果出现图像则安装成功。

import matplotlib.pyplot as plt
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
ax = plt.axes(projection='3d')
ax.scatter(np.random.rand(10),np.random.rand(10),np.random.rand(10))
plt.show()

验证 terminal 可使用 GUI:在 VSCode Terminal 中输入 xclock,出现时钟则安装成功。


参考:
https://zhuanlan.zhihu.com/p/141205262
https://blog.csdn.net/zk0272/article/details/96866513

评论 40
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃饭就会放大招

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值