当先锋百科网

首页 1 2 3 4 5 6 7

背景

工作机是一台 Windows 电脑,而很多时候需要在 Mac 电脑上编码、配合 iPhone 模拟器,所以我以前是用 VNC 或者向日葵来远程 Mac 来编程,其实还能接受,但是最让我不舒服的是快捷键的使用。众所周知,Windows 的快捷键对应 Mac 来说,是需要切换按键的,而且很多快捷键在 Mac 上不知道是什么,而且远程也会受到网络波动的影响,时而鼠标点不动、键盘打字反应不流畅,其他不舒服的点就不提了。

同步远程代码

使用 pycharm 自带的 Deployment 功能,可以实现直接远程编码。

先配置 SSH Configuration,填我要远程的 Mac 机子的 IP 和用户名密码,再 Test Connection,可以给这个条配置起个名字,比如 iOSmachine。
请添加图片描述

配置 Tools - Deployment - Configuration

请添加图片描述

关于 Connection

可以不用自己配置,点击 Autodetect,自动生成我 Mac 电脑上的一个 /Users/<username> 路径

请添加图片描述

关于 Mapping

这个就是关键了,local path 配置成我本地编码的工程路径,Deployment path 配置成 Mac 机子上的一个路径,以后就可以将这两个路径里的文件相互同步。

请添加图片描述

为了方便,两边都去了同样的目录名 mobile_develop,然后将同一份工程代码分别克隆到两台机子上。

为什么要这么做,因为我发现,如果仅仅是一边克隆 git 工程代码,并将这个路径同步到另一台机子上,使用 pycharm 打开,并不能使用 git blame 功能,还有就是为了两边都可以提交代码等。

当然,很多时候 Deployment 不是我这么用的,比如需要在没有图形界面的服务器机子上调试代码,那么就可以 ssh 远程连接,将代码同步到本地,在本地执行调试,改好代码后,再同步回服务器。

在本地修改代码后,怎么同步到远程的机子上,还有怎么保留部分、只同步某个目录下的文件,都可以在 Deployment 菜单中不断摸索使用。

请添加图片描述

请添加图片描述

常使用的一个功能,忽略一些不重要的文件,在 Deployment - Options 中配置

请添加图片描述

Interpreter

同步代码后,需要调试,如果本地有和远程一样的环境,那么就好办了,不用使用远程的 python,直接使用本地的 Python 版本来调试。

但是通常远程环境和本地不同,所以我调试这个工程的同时,需要使用远程的环境,比如使用 Mac 机子上的 Python 版本,此时配置 Python Interpreter

先选择 On SSH

请添加图片描述

填写我远程的 Mac 机子的 host、username,操作几步,到如下所示

请添加图片描述

配置好后,需要等待加载。

最后,就可以在 Windows 上的 pycharm 上编码、调试、运行,本质上环境是 Mac 的环境。

比如我在 Windows 上执行启动模拟器的 app 代码,Mac 电脑上的 app 就能运行起来,从此,我就不用打开远程软件窗口来编码了,舒服。

注意点

有些代码使用了 Mac 环境变量里的操作,在这个功能下操作,可能会出现报错。比如 Mac 环境下有配置 jfrog 环境变量,在 win 上通过 ssh 远程代码,在本地执行 os.popen('jfrog xxx xxx') 就不能有预期的结果,而是应该使用 os.popen('/usr/local/bin/jfrog xxx xxx') ,环境变量的问题需要注意一下。