Xcode自定义文件模板

摘要:

一个团队合作开发一个项目的时候,可能因为各自的代码风格不同,使得项目的整体风格不那么统一。使用自定义模板就能有效的减少这种问题的发生。同时还有其他好处。总结如下:
1、节省重复代码手写的时间
2、统一规范代码,提高代码的可读性
3、减少手写代码,XIB或修改相关配置等不必要的时间

如UIViewController的代码按照如下结构编写:

#pragma mark - def
#pragma mark - override
#pragma mark - api
#pragma mark - model event 
#pragma mark - view event
#pragma mark - private
#pragma mark - getter / setter

又如单元测试都是按照如下结构创建的


Xcode自定义文件模板_第1张图片
测试代码模板

系统文件模板

Xcode自定义文件模板_第2张图片
系统文件

如上图所示:我们创建文件的时候都会用到系统模板,包括iOS watchOS tvOS macOS四种终端,四种终端都有自己的文件模板提供选择,之前开发的时候只管用系统提供的文件模板,并不知道我们也可以创建自己或公司专用的模板,那么接下来就让我们去了解下,怎么创建属于自己的模板。。。

模板存放的位置

Xcode模板主要分为两种,系统默认模板和用户自定义模板,位置分别在

  • iOS开发系统模板位置
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates

里面包含文件模板(File Templates)和工程模板(Project Templates)

  • MacOSX的系统文件模板位置
    /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates
  • 用户自定义模板位置
  • ~/Library/Developer/Xcode/Templates

如何快速创建、修改xcode模板

Xcode没有提供直接的工具或者是向导给你创建一个工程模板,但是我们可以根据修改系统模板来创建自己的模板。

打开iOS模板目录

终端方式:
open /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates

或者
// 进入iOS模板目录
cd /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates 
// 打开该目录
open . 
  • 基于现成模板修改或使用
    Xcode自定义文件模板_第3张图片
    文件路径

如图所示:

___FILEBASENAME___ : 文件名包括后缀,里面的内容就是模板

TemplateIcon.png :文件的图标

TemplateInfo.plist : 模板的描述
其内容如下图:

  • kind : 模板类型

    Xcode.Xcode3.ProjectTemplateUnitKind --指定该模板是工程(项目)模板
    Xcode.IDEFoundation.TextSubstitutionFileTemplateKind --指定该模板是文件模板

  • SortOrder: 这个是排序的值,该模板显示在new project的dialog中的位置索引,可以设置在界面中的摆放位置,值越小越前面

  • Ancestors:要继承的模板。也就是模板的“父类”,从父类那里继承一些模板的基础属性,可以有多个父类。 当然这里并没继承,所以没有该字段

  • Concrete:设置为YES的模板才可以显示在new project的dialog中,此时这个模板不能被其他模板继承。

  • Description:就是Description描述信息。

  • AllowedTypes:文件类型,包含Swift(public.swift-source),OC(public.objective-c-source 、 public.objective-c-plus-plus-source)

  • MainTemplateFile:指定模板文件

Xcode自定义文件模板_第4张图片
MainTemplateFile文件内容

我要创建一个Swift文件模板的话,我可以将Swift File.xctemplate文件夹拷出来。重新命名,然后替换里面的图片,替换里面的模板代码。然后将修改后的文件夹添加到用户自定义模板目录~/Library/Developer/Xcode/Templates/、当然这里你也可以添加在它的子目录下面,我这里就添加在了MyTemplate子目录下。

完成后如下图所示:


Xcode自定义文件模板_第5张图片
创建好的模板文件

打开xcode创建文件,就能看到你刚刚创建的模板了
如图:


Xcode自定义文件模板_第6张图片
选择自定义的文件模板

然后你就能像使用系统模板一样使用,自定义的模板了

你可能感兴趣的:(Xcode自定义文件模板)