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
