程序员

XCode 自定义模版

2017-10-19  本文已影响0人  vincentgemini

背景

每个公司都有自己的代码规范,在代码规范中,一定会有一条是关于代码分割的约定,有了这样的约定,团队合作的时候就会减少一些不必要的代码冲突。因为目前代码合并的工具多数采用的是行和相邻代码对比,当有了代码分割,就会避免多人开发时,把不同方法写到同一行上,日后代码合并就可能会出现冲突。所以就出现了类似ViewController类的约定,入下图:

ViewController.png

于是,每当开发人员在创建一个新ViewController时,就要把这一大堆约定拷贝进来。项目开始时每个人都会按步就班地去执行规范,可是当项目后期时,由于需求突然变更或其他原因,导致研发时间缩减,很多程序员会因为忙于开发,而疏忽这些约束,久而久之,就会导致代码面目全非,再无之前的规范。所以,有人就会考虑,是否可以讲这部分工作在创建文件的时候自动完成。答案是肯定的,XCode就可以帮组我们完成这部分工作。

修改模版

Xcode的模板文件有两个位置,一个系统的全局位置,一个用户的自定义位置:

全局位置:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/Project Templates/
以及 : /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Project Templates
用户自定义位置:~/Library/Developer/Xcode/Templates/

(用户自定义位置可能需要自己创建Templates文件夹)

Templates文件夹里面有文件模板File Templates和工程模板Project Templates,分别对应创建文件时的选项和创建工程时的选项:

文件模版.png 工程模版.png

用的最多就是File Templates/Source/Cocoa Touch Class.xctemplate里面的模板, 在这个文件夹中,可以看到UIViewControllerObjective-C、 UIViewControllerSwift、UIViewControllerXIBObjective-C、UIViewControllerXIBSwift,从名字上就能看出来,就是OC与Swift,以及是否用Xib的区别。打开UIViewControllerObjective-C中的____FILEBASENAME___.m文件

FILEBASENAME.png

其中的一些宏的意义是:

含义
FILENAME 文件名包括后缀
PROJECTNAME 工程名
FULLUSERNAME 用户的名字
DATE 当前日期,年/月/日
COPYRIGHT 版权
FILEBASENAME 不带后缀的文件名
FILEBASENAMEASIDENTIFIER 不带后缀的文件名

可以对文件进行修改,添加不同的代码分割约束。需要注意的是,全局路径下的这个文件是保护的,需要在外部修改,然后覆盖进去。另外,由于XCode升级时,会覆盖安装,所以,一些已经写好的模版会被覆盖,也比较尴尬。
所以一般在自定义路径下创建,以免升级时被覆盖。

自定义.png

修改Plist文件

to continue!~

上一篇 下一篇

猜你喜欢

热点阅读