Xcode 文件头部注释模板自定义,不同Project不同注释模板🤪

1,787 阅读2分钟

Xcode 文件头部注释模板

平时在使用Xcode创建文件时,文件顶部会自动生成一些注释

//
//  AppDelegate.h
//  SampleApp
//
//  Created by xxx on 2021.
//  Copyright © 2021 xxxxx. All rights reserved.
//

这些信息来自于~/Library/Developer/Xcode/UserData/IDETemplateMacros.plistFILEHEADER字段的值

IDETemplateMacros.plist内容如下

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>FILEHEADER</key>
	<string>
//  ___FILENAME___
//  ___PACKAGENAME___
//  
//  Created by ___USERNAME___ on ___YEAR___.
//  Copyright © ___YEAR___ ___ORGANIZATIONNAME___. All rights reserved.
//  
    </string>
</dict>
</plist>

如果~/Library/Developer/Xcode/UserData/目录下没有IDETemplateMacros.plist,则需要自己创建一个了

不同Project使用不同模板

Xcode会从以下几个位置寻找IDETemplateMacros.plist并加载第一个找到的plist,所以可以利用这个配置不同Project使用不同的注释模板。

<!--<ProjectName>是项目名称,[username]是系统当前用户名,<WorkspaceName>是工作空间名称-->
第一个,Project user data
文件路径:
<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist.

第二个,Project shared data
文件路径:
<ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist

第三个,Workspace user data
文件路径:<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist.

第四个,Workspace shared data
文件路径:
<WorkspaceName>.xcworkspace/xcshareddata/IDETemplateMacros.plist.

第五个,User Xcode data
文件路径:
~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist.

第五个可以看作全局配置,同一个用户下的所有Xcode项目都使用这个IDETemplateMacros.plist

通过配置不同的注释模板,可以满足个人项目和公司项目或者其他不同的项目,使用不同的注释的需求。

Text macros 参考

宏的相关解释使用可以参考Xcode 文件头部信息FILEHEADER相关宏,或者直接查阅官方文档Text macros reference - Xcode HelpText macro format reference - Xcode Help

以下是部分文本宏的显示效果,宏名称 ---> 显示的内容

//
//  COPYRIGHT ---> Copyright © 2021 xxxxx. All rights reserved.
//  DATE ---> 2021/5/20
//  DEFAULTTOOLCHAINSWIFTVERSION ---> 5.0
//  FILEBASENAME ---> File
//  FILEBASENAMEASIDENTIFIER ---> File
//  FILENAME ---> File.swift
//  FULLUSERNAME ---> XXXxxx
//  NSHUMANREADABLECOPYRIGHTPLIST ---> <key>NSHumanReadableCopyright</key>
<string>Copyright © 2021 xxxxx. All rights reserved.</string>
//  ORGANIZATIONNAME ---> xxxxx
//  PACKAGENAME ---> Macros
//  PACKAGENAMEASIDENTIFIER ---> Macros
//  PRODUCTNAME ---> Macros
//  PROJECTNAME ---> Macros
//  RUNNINGMACOSVERSION ---> 10.15
//  TARGETNAME ---> Macros
//  TIME ---> 09:41
//  USERNAME ---> xxx
//  UUID ---> 7E76936D-6461-41BE-8011-FCDEF050A7A3
//  YEAR ---> 2021

NSHUMANREADABLECOPYRIGHTPLIST的内容有换行符,所以没有注释效果

更多细节可以看看官方文档,在参考资料里给出了我查阅的一些官方文档。

参考资料

Text macros reference - Xcode Help

Text macro format reference - Xcode Help

Customize text macros - Xcode Help

Customizing the file header comment and other text macros in Xcode 9

Xcode 自定义工程中的头文件信息

Xcode 文件头部信息FILEHEADER相关宏