Xcode 10 新建文件模版

一、背景

大多数 创建ViewController时都有一些自己的重复模版代码需要频繁的拷贝,或者利用代码块创建,很麻烦,例如:

#import "TestViewController.h"
#import "<#ViewModelClass#>.h"
@interface TestViewController ()
@property (nonatomic, strong) <#ViewModelClass#> *viewModel;
@end

@implementation TestViewController
#pragma mark - life cycle
- (void)viewDidLoad {
    [super viewDidLoad];
    [self setupData];
    [self setupNavigation];
    [self setupView];
    [self bindViewModel];
}
#pragma mark - event response
-(void)bindViewModel{
    
}
#pragma mark - outFunctions

#pragma mark - privateFunctions

#pragma mark - setup data and view
-(void)setupData{
    
}
-(void)setupView{
    
}
-(void)setupNavigation{
    
}
#pragma mark - getters and setters
-(<#ViewModelClass#> *)viewModel{
    if (!_viewModel) {
        _viewModel = [<#ViewModelClass#> new];
    }
    return _viewModel;
}

@end


二、创建

1.找到Xcode自己的文件模版
路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates
Xcode自带模版

Templates

File Templates 文件模版
————————————
Project Templates 工程模版

其中 File Templatesd/Source/Cocoa Touch Class.xctemplate 是本文需要的模版位置(不同Xcode版本有可能有点不同,不过都是在File Templatesd下找到的对应想要自定义的.xctemplate)


需要复制的文件夹
2. 复制Cocoa Touch Class.xctemplate文件夹
3. 在 ~/Library/Developer/Xcode/ 路径下创建 Templates 文件夹(有的话就不用创建了,我的Xcode10 是没有的)
4. 然后在Templates下创建一个文件夹(文件夹的名字就是以后自定义Xcode模版的名字,我取的是“Custom File Template”)并将复制的Cocoa Touch Class.xctemplate文件夹,粘贴到这里
自定义模版文件夹
5.修改想要自定义的类模版
UIViewController模版

注意 模版里有有一些宏,不要删除
下面是我的一个修改

//___FILEHEADER___

#import "___FILEBASENAME___.h"
#import "<#ViewModelClass#>.h"
@interface ___FILEBASENAMEASIDENTIFIER___ ()
@property (nonatomic, strong) <#ViewModelClass#> *viewModel;
@end

@implementation ___FILEBASENAMEASIDENTIFIER___
#pragma mark - life cycle
- (void)viewDidLoad {
    [super viewDidLoad];
    [self setupData];
    [self setupNavigation];
    [self setupView];
    [self bindViewModel];
}
#pragma mark - event response
-(void)bindViewModel{
    
}
#pragma mark - outFunctions

#pragma mark - privateFunctions

#pragma mark - setup data and view
-(void)setupData{
    
}
-(void)setupView{
    
}
-(void)setupNavigation{
    
}
#pragma mark - getters and setters
-(<#ViewModelClass#> *)viewModel{
    if (!_viewModel) {
        _viewModel = [<#ViewModelClass#> new];
    }
    return _viewModel;
}

@end

6.修改后,退出Xcode 重新打开,然后创建文件,就会看到新的模版
文件模版

你可能感兴趣的:(Xcode 10 新建文件模版)