批量给类增加前缀,替换前缀

FDTops

github地址:https://github.com/toolazytoname/FDTops

由来

批量给类增加前缀,替换前缀。

改个前缀,加个前缀,Xcode自带的Refactor是好用,但是同时只能更改一个类的名字,不能批量操作。于是就有了这个脚本。

之前用shell 写过一个简单的脚本,主要原理就是调用苹果自带的命令行工具tops,重新捡起来发现确实是不太习惯,于是用Python3 重新写了一个。这个命令就是用来批量重命名方法名,类等,使用过程中碰到一个问题,它不会自动把文件名改掉,自然也不会把文件头中的 #import “className.h”给替换掉。不知道是工具本身就不支持,还是我没有设置好某个参数,反正遍寻man中的介绍,最终也没有找到。只能用脚本暴力重命名文件,替换。

如何使用

cd到FDTops.py脚本所在目录,苹果自带的Python版本是2.7,你首先得安一个Python3

python3 FDTops.py(脚本命令位置) /Users/yiche/Code/yiche/yiche4iOS/autoPrice/App/Mine/MessageCenter(目标类所在目录)  replace(操作符,目前只支持replace 和add) YC(原始前缀名) FD(目标前缀名) 

python3 FDTops.py /Users/yiche/Code/yiche/yiche4iOS/autoPrice/App/Mine/MessageCenter  replace YC FD 

python3 FDTops.py /Users/yiche/Code/yiche/yiche4iOS/autoPrice/App/Mine/MessageCenter add FD(增加的前缀) 

原理

  1. 递归便利目标目录下的文件, 通过文件名获得类名
  2. 用tops 命令替换
  3. 替换import 进来的的类名 "{classname}.h”
  4. 重命名目标目录下的.h. 和 .m文件

待优化

  1. 因为对Python 不太熟悉,PyCharm 也用得不太熟,全程有很多warning没有解决。
  2. 为了代码结构逻辑清晰,递归遍历了好多次,熟了再优化吧
  3. 是不是可以把这些操作,全放到一个模块里面,然后import 进来
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容