在大二刚接触linux系统的时候,学校的服务器装的都是有图形界面Ubuntu系统,使用teamviewer远程连接操作很方便,就像多了个电脑一样。可是最近进所里后发现,给分配的服务器只有能使用ssh登录的终端,这让我这个被pycharm的各种功能惯坏了的人十分不爽,不能代码提示补全、不能一眼看到所有文件、不能随心所欲地debug。。。

因此我开始了寻找舒适远程开发方法的无用功旅程,在此期间尝试了mobaxterm,vscode和pycharm。最后总结了下各个方法的使用情况。

一、Mobaxterm

解决了普通终端不能方便地看到文件结构并进行传输的问题,并且美观性提高了很多,我们可以直接新建SSH会话,输入IP和用户名密码即可。

左侧列出了所有文件,可以拖拽进行文件上传。右侧为普通终端。

二、Vscode

微软为了方便远程开发,近几年推出了组件Remote - SSH。效果如下:这是在我windows笔记本下的vscode软件,左侧文件列表和终端都链接在了远程的linux服务器上,并且在本地可以直接查看并修改远程的python代码,同时还能使用vscode本身一些插件所带来的代码补全、报错提示等功能。

关闭重新连接后,还会自动显示之前未关闭的终端和文件。在远程开发体验非常完美。

唯一的一点不足就是我pycharm用多了用不惯vscode。。。

操作方法:

1)在vscode中添加Remote-SSH和Remote-SSH:Editing..

2)之后左侧会出现 图标,点开之后设置,上面会自动弹出来选项,选择第一个config文件。

3)在文件中按照此格式配置,

Host:随便起个名

HostName:服务器IP地址

User:linux用户名,例如root

Port:端口号(可不写)

4)配置完成后,左侧会显示出服务器及文件根目录,点击文件夹icon打开目录。之后会弹出一系列窗口,包括输入密码、选择服务器的系统种类(linux/windows/mac...),正常填写即可。

三、Pycharm

因为之前我用的都是Jetbrains全家桶,所以更习惯于使用pycharm配置远程服务器来编python,但pycharm远程连接只有专业版才有(在校学生可以用邮箱申请免费用专业版),社区版是找不到对应功能的。Pycharm远程开发有两种方式,一种是和mobaxterm一样打开一个服务器文件列表,可以方便文件传输。使用本地的环境调试代码,再通过下方的SSH会话用远程运行程序。另一种就是在这基础上把环境也和远程链接起来,使用远程环境调试代码,并且把服务器路径和本地路径做个映射对应起来进行文件同步。(个人感觉环境用哪的都一样,所以我用的前者的方式)

  • 连接方式一操作方法(仅用于远程文件传输、查看与修改,运行需通过新建终端):

1)点击上方的Tools->Deployment->Configuration

2)新建SFTP

3)输入Host,User name,password等信息,图中为例子。

4)测试成功并保存后,点击Tools->Development->Browse remote host,右侧即会显示出服务器文件目录。如需打开服务器终端,新建个SSH会话即可。

  • 连接方式二操作方法(将解释器换为远程,服务器操作和自己电脑几乎无区别):

1)File->Settings->Project Interpreter(就是日常配置环境的地方),add一个新环境

2)选择SSH Interpreter,里面配置和之前一样。

3)选择一个服务器上的环境位置,下面打钩的Automatically upload...意思是把本地项目自动同步到远程服务器上,可以设置同步映射地址,完成后就可以使用服务器环境在本地运行、修改了。

在远程连接的综合便捷程度来说,Vscode≥Pycharm≥Mobaxterm。Mobaxterm对比最朴素的ssh连接的优点便是可以方便看到文件目录,并用记事本进行文件修改。而Vscode则可以便捷查看之前终端的运行状态,并可以通过扩展插件来配置自己想要的功能。Pycharm则是介于两者之间。

但由于我本身习惯Pycharm的代码提示及各种便捷操作,所以目前是使用pycharm进行代码编写及同步,再用vscode配置环境、执行代码操作等。