远程开发方式整合(vscode以及pycharm的两种方式)

这篇博客介绍了远程开发的概念和优势,重点展示了如何使用VSCode和PyCharm进行远程开发。通过安装远程开发插件,可以实现在本地编辑远程服务器上的代码,进行实时查看、修改和调试。此外,还详细阐述了端口转发、多人协作以及PyCharm的远程调试配置,帮助开发者高效地进行远程项目开发。
摘要由CSDN通过智能技术生成

何为远程开发?

远程是相对于本地的。

传统开发中,我们都是本地写好代码再放到服务器上运行。

而远程开发的特点是:

  1. 代码不放在自己电脑上,而是在远程连接的服务器上
  2. 可以在本地直接实时查看和修改远程服务器上的代码

也就是说,我们可以蹲在家里,用自己的一台电脑去灵活编辑远在天边的服务器上的代码。
在这里插入图片描述

注意!不要把远程开发理解为远程办公哈哈。

听起来还是挺爽的,有很多种技术可以实现远程开发,比如最古老的远程控制方式。这里推荐大家直接使用开发工具自带的远程开发插件,比如 JetBrains 全家桶和 VS Code。

VsCode版

由于 VS Code 相对轻量易用,这里带大家实战一波 VS Code 远程开发。
在这里插入图片描述

实战体验

  1. 安装插件
    首先打开 VS Code,点击左侧扩展按钮,搜索 “remote”,能够看到一些远程开发插件,支持 SSH 远程连接、连接 Docker 容器、连接Windows 上的 Linux 子系统等。

这里我们选择下图第二个 Remote - SSH ,点击安装即可:
在这里插入图片描述

  1. 远程连接
    安装好之后,按 ctrl + shift + p 打开命令面板,输入 “remote”,找到 Remote - SSH: Add New SSH Host ,添加一个 SSH 远程连接。
    在这里插入图片描述

根据提示输入你要连接的远程服务器的用户名、主机地址(如果没有服务器,在本地启动虚拟机也可以),记得带上 -A 参数(开启代理转发功能):
在这里插入图片描述

输入连接信息后,选择将该信息保存到一个配置文件中:
在这里插入图片描述

然后连接信息就添加成功了:

在这里插入图片描述

点击 connect 按钮,就连接成功了,在左侧面板中可看到 “已连接到远程”:
在这里插入图片描述

  1. 实时浏览
    连接到远程后,我们就可以像操作自己本地电脑一样,浏览远程服务器上的文件。

比如说我这里进入自己的项目目录:
在这里插入图片描述
在左侧可以看到目录下的文件:
在这里插入图片描述

  1. 远程编辑
    让我们在编辑器中新建一个文件 test.java ,

在这里插入图片描述

可以使用 XShell 等其他远程 SSH 连接软件访问同一台服务器,进入同一个目录,用 ls 查看目录下的文件,能看到在 VS Code 中新建的 java 文件:
在这里插入图片描述

  1. 实时协作
    我们可以用 VS Code 和其他 SSH 连接软件(如 XShell)来模拟两个用户正在同时协作编写同一个代码文件。

先在 VS Code 中写下一行优质代码:
在这里插入图片描述

再在 XShell 中编辑该文件,可以立即看到 VS Code 写下的那行代码,在它下面再写一行:
在这里插入图片描述

保存之后,在 VS Code 中就能看到全部代码了:
在这里插入图片描述

  1. 端口转发
    既然我们编辑的代码是在远程的,那代码也是运行在远程的,假如说要查看远程项目的运行效果,怎么办呢?

VS Code 提供了端口转发功能,可以配置远程服务器和本地端口的映射,以支持本地直接访问到远程服务器的应用。

ctrl + shift + p 打开命令面板,搜索 “forward”,选择转发端口:
在这里插入图片描述

输入要转发的端口号(应用占用的端口),就添加成功了,非常方便!
在这里插入图片描述

然后就能在本地访问运行的项目啦!

  1. 远程调试
    除了远程编辑代码外,我们可以利用 VS Code 本身的代码提示能力和调试能力。由于远程调试和本地调试几乎没有任何区别,此处不再演示。

感受
虽然之前早就听说了远程开发,但一直觉得这玩意配置肯定会很麻烦,而且没啥用。但实际体验下来,不仅安装方便,而且操作友好、基本感受不到延迟,就像在用自己的电脑一样,真心非常爽!

远程开发有很多好处:

由于代码运行在远程服务器,能够大大节省自己电脑的资源,不会出现多开几个项目电脑就卡如狗的情况。

可以多人协同编辑,提高协作效率。

不用在本地搭建环境,就能快速上手开发。尤其是一条龙开发、啥都让你干的时候,更爽,比如之前我去紧急支持一个项目的时候,同事有一台开发机,上面有现成的可运行环境和项目代码。下次再遇到这种情况,我就直接连他的服务器远程开发就行了。

如果对 Linux 服务器操作不太熟悉,也可以把远程开发当成一个傻瓜式服务器管理软件。

Pycharm版

准备工作

首先你需要安装PyCharm Professional版,Community版是没有远程调试功能的,如果你是学生可以通过学校的edu邮箱申请免费试用,如果不是请购买正版。

PyCharm下载地址

安装过程很简单这里就不赘述了,安装流程下一步下一步即可。

远程服务器同步配置
  • 首先本地代码放在:F:\Code\Sync\Detectron
  • 服务器代码路径在:/home/xuzhewei/code/Detectron
    打开PyCharm,打开Project文件夹F:\Code\Sync\Detectron
    在这里插入图片描述

首先在Tools>Deployment>Configuration配置远程服务器地址:

  • SFTP host: 是你服务器的地址
  • Port: 是端口号
  • Root Path: 是远程你期望存放代码的位置
  • User name: 是远程服务的登录用户名
  • Password: 远程服务器的登录密码
    在这里插入图片描述

切换到Mappings标签页

  • Local path: 本地代码存放位置
  • Deployment path on server Detectron: 服务器端存放Detectron的位置
  • Web …: 这个我们用不上,是web项目需要配置

如果你还有一些文件或文件夹不想同步,那么在配置对话框的第三个tab页Excluded path里面添加即可,可同时指定本地和远程。

在这里插入图片描述

上传下载文件

手动上传方式很简单,选择需要同步的文件或文件夹,然后选择 Tools>Deployment>Upload to Detectron(这个是刚刚配置的部署名称)

比较远程和本地文件
有时候你并不确定远程和本地版本的完全一致,需要去比较看看。PyCharm提供了对比视图来为你解决这个问题。

选择Tools>Deployment>Browse Remote Host,打开远程文件视图,在右侧窗口就能看到远程主机中的文件
在这里插入图片描述

选择一个你想要对比的文件夹,点击右键->Sync with Deployed to Detectron,打开同步对比窗口,使用左右箭头来同步内容。
在这里插入图片描述
在这里插入图片描述

PyCharm 远程调试

选择File>Settings>Project>Project Interpreter,然后在右边,点击那个小齿轮设置,如下
在这里插入图片描述

然后点击Add Remote,填写主机的ssh配置,点击下一步后会让你填写密码
在这里插入图片描述

然后设置你的Python Interpreter,就是你在服务器端运行的python的位置,这里默认是系统python,但是我采用的anaconda的虚拟python环境因此这里的

  • Interpreter地址为 /home/all/lib/anaconda2/envs/caffe2/bin/python
  • Sync folders是服务器上代码放置的地址
远程调试

首先验证在服务器上运行测试代码可以成功运行

cd ~/code/Detectron
python tests/test_spatial_narrow_as_op.py

输出

No handlers could be found for logger "caffe2.python.net_drawer"
net_drawer will not run correctly. Please install the correct dependencies.
E0531 15:09:45.234580  5116 init_intrinsics_check.cc:59] CPU feature avx is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
E0531 15:09:45.234616  5116 init_intrinsics_check.cc:59] CPU feature avx2 is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
E0531 15:09:45.234625  5116 init_intrinsics_check.cc:59] CPU feature fma is present on your machine, but the Caffe2 binary is not compiled with it. It means you may not get the full speed of your CPU.
Found Detectron ops lib: /usr/local/lib/libcaffe2_detectron_ops_gpu.so
...
----------------------------------------------------------------------
Ran 3 tests in 3.146s

OK

然后尝试在PyCharm远程调试
在这里插入图片描述

然后注意不要用py.test,应直接用python运行

在这里插入图片描述

输出结果和在SSH里显示的一样

在这里插入图片描述

解决pycharm无法识别rospy等ros包的问题

如果需要写ros,在经过之前的配置后,会发现import rospy或者import自定义srv出错,同时这些包的代码提示也没有,说明pycharm没有扫描到这些文件。
在这里插入图片描述

我们需要手动设置python解释器的扫描路径来使pycharm识别到它们。

  1. 在Ubuntu终端source相关目录。ros安装时的相关包只有被source之后才能访问。
source /opt/ros/melodic/setup.bash
source ~/catkin_ws/devel/setup.bash (此目录根据自己的workspace自行更换)

在这里插入图片描述

第一行为同步ros安装目录下的设置,第二行为同步自己工作目录下的设置。

  1. 为pycharm解释器增加扫描目录。
    在这里插入图片描述

选择show path。
在这里插入图片描述

添加ros安装目录下的python库:/opt/ros/melodic/lib/python2.7/dist-packages

添加自己workspace下编译的python库:/工作目录(我的是catkin_ws)/devel/lib/python2.7/dist-packages

然后一路点击确定,等待pycharm下方的进度条结束后,重启pycharm,再等待pycharm下方的扫描项都结束。

  1. 大功告成。之前找不到库、找不到自己编写的包、没有代码提示等问题统统解决。

————————————————
版权声明:本文为CSDN博主「FireKnight_」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/CSDNwzl/article/details/104652720

参考

PyCharm远程运行调试代码
远程开发,确实爽
pycharm如何实现本地写代码,服务器运行
Pycharm 通过ssh远程编写Ubuntu ros,解决pycharm无法识别rospy等包的问题

  • 12
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Hanzoe_lwh

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

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

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

打赏作者

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

抵扣说明:

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

余额充值