iOS關(guān)于自定義文件模板

Xcode中創(chuàng)建新文件文件頭注釋

Xcode創(chuàng)建的默認(rèn)模式是這樣子的:

//  AppDelegate.m 文件名  ___FILENAME___
//  Test 項(xiàng)目名 ___PACKAGENAME___
//
//  Created by ___FULLUSERNAME___ on ___DATE___.  

但是有時(shí)候我們對(duì)于這種格式并不滿足,那么強(qiáng)大而又無語的Xcode人性化為我們提供了自定義頭文件注釋的方法:
首先在項(xiàng)目工程中創(chuàng)建一個(gè)IDETemplateMacros.plist的文件,并在文件中創(chuàng)建一個(gè)鍵為FILEHEADER,類型為string的key,并將其內(nèi)容填寫為自定義的注釋格式,如下圖所示:


image.png

然后我們可以點(diǎn)擊右鍵 如下圖所示 便于編輯


image.png

下面就是我個(gè)人的自定頭文件的格式:
/*
- ___FILENAME___
- PackName: ___PACKAGENAME___
- TargetName: ___TARGETNAME___
- Author: ___FULLUSERNAME___
- Create: ___DATE___
- Description:
- Function List:
___COPYRIGHT___
*/

有些同學(xué)就會(huì)問?
Q:我怎么知道下面的這些PACKAGENAME代表什么意思呢?

FILENAME、PACKAGENAME

A:蘋果爸爸的文檔已經(jīng)有了說明了宏說明

但是有同學(xué)就會(huì)問究竟把該文件放在哪里才會(huì)生效呢?這個(gè)問題問得好
指定的目錄
把IDETemplateMacros.plist 文件放置到不同的目錄,其影響的范圍是有所差別的:

  • 只對(duì)當(dāng)前 Project 指定的用戶(username)有影響:
    點(diǎn)擊項(xiàng)目名字(Test.xcodeproj)->顯示包內(nèi)容->xcuserdata。具體需要哪個(gè)用戶就放在指定的用戶目錄下面


    image.png
<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
  • 對(duì)當(dāng)前 Project 的所有成員有影響
<ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist
  • 對(duì)指定用戶的 Workspace 下的 Project 有影響
<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
  • 對(duì)所有成員 Workspace 下的 Project 有影響
<WorkspaceName>.xcworkspace/xcshareddata/IDETemplateMacros.plist
  • 對(duì) Xcode 所有創(chuàng)建的文件都有影響
~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist

Xcode自定義文件模板

在這個(gè)目錄下面 找到你想要修改的東西????????????

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/iOS/Source/Cocoa Touch Class.xctemplate

這個(gè)就是我個(gè)人自定義模板了

/*
- dddViewController.m
- PackName: 測(cè)試一下
- TargetName: 測(cè)試一下
- Author: dzl
- Create: 2021/5/30
- Description:
- Function List:

*/
    

#import "dddViewController.h"

@interface dddViewController ()

@end

@implementation dddViewController
#pragma mark - LifeCycle
- (void)viewDidLoad {
    [super viewDidLoad];
}
#pragma mark - Public(公開方法)

#pragma mark - Private(私有方法)
   
#pragma mark - Override(需要覆蓋父類的方法)

#pragma mark - Notification(通知方法)
 
#pragma mark - Delegate(Delegate需要實(shí)現(xiàn)的方法)

#pragma mark - DataSource(DataSource需要實(shí)現(xiàn)的方法)

#pragma mark - Event

#pragma mark - Setter/Getter

#pragma mark - Networking

#pragma mark - Lazy

@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容