FDTops
github地址:https://github.com/toolazytoname/FDTops
由來
批量給類增加前綴,替換前綴。
改個前綴,加個前綴,Xcode自帶的Refactor是好用,但是同時只能更改一個類的名字,不能批量操作。于是就有了這個腳本。
之前用shell 寫過一個簡單的腳本,主要原理就是調(diào)用蘋果自帶的命令行工具tops,重新?lián)炱饋戆l(fā)現(xiàn)確實(shí)是不太習(xí)慣,于是用Python3 重新寫了一個。這個命令就是用來批量重命名方法名,類等,使用過程中碰到一個問題,它不會自動把文件名改掉,自然也不會把文件頭中的 #import “className.h”給替換掉。不知道是工具本身就不支持,還是我沒有設(shè)置好某個參數(shù),反正遍尋man中的介紹,最終也沒有找到。只能用腳本暴力重命名文件,替換。
如何使用
cd到FDTops.py腳本所在目錄,蘋果自帶的Python版本是2.7,你首先得安一個Python3
python3 FDTops.py(腳本命令位置) /Users/yiche/Code/yiche/yiche4iOS/autoPrice/App/Mine/MessageCenter(目標(biāo)類所在目錄) replace(操作符,目前只支持replace 和add) YC(原始前綴名) FD(目標(biāo)前綴名)
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(增加的前綴)
原理
- 遞歸便利目標(biāo)目錄下的文件, 通過文件名獲得類名
- 用tops 命令替換
- 替換import 進(jìn)來的的類名 "{classname}.h”
- 重命名目標(biāo)目錄下的.h. 和 .m文件
待優(yōu)化
- 因?yàn)閷ython 不太熟悉,PyCharm 也用得不太熟,全程有很多warning沒有解決。
- 為了代碼結(jié)構(gòu)邏輯清晰,遞歸遍歷了好多次,熟了再優(yōu)化吧
- 是不是可以把這些操作,全放到一個模塊里面,然后import 進(jìn)來