背景
不知道你有没有在使用 Xcode 创建文件时觉得文件头部的注释说明不想要或者不是自己喜欢的样式,如果你有这个痛点,那就继续阅读下去哈,本文将让你自定义文件头部注释说明,告别每次创建文件都手动修改注释的痛。
说明: 这是 Xcode9 的一个新特性之一
步骤说明
Xcode9(目前是beta)的发布,让开发者可以自定义文本宏。步骤也是极其简单。
- 创建文件名为: IDETemplateMacros.plist 的文件;
- 给文件添加你想自定义的宏名称,如: GITHUB
- 给自定义的宏填上对应的值,如:https://www.github.com/linshaolie
- 保存文件
- 将文件放置到特定的目录下(下面会详细介绍)
实践操作
按照上面的步骤进行操作:
首先,创建文件
其次,添加宏名称
这里, FILEHEADER 宏就是所有新建文件头部的注释说明。是的,通过覆盖这个宏,你就能做到头部信息的自定义了。你也可以通过这个文件创建其他自定义的宏。
接着,添加内容
// Created by ___FULLUSERNAME___ on ___DATE___.
// ___COPYRIGHT___
//
几点说明:
- 通过三个下横线(_),你可以引用内置的一些宏,如:
___DATE___
会获取当前时间
- 在编辑 plist文件的时候,你会发现按回车键(enter)时,就直接确认了。你需要 按
option + enter
来换行。当然,你也可以通过 Source Code 的方式打开文件编辑 - 从上面我写的内容上可以看到,在第一行只是做了个换行的操作,是的,Xcode 默认会在第一行前面加上 // ,有点奇葩的设计哈。
- FILEHEADER 的默认值是:
// ___FILENAME___
// ___PACKAGENAME___
//
// Created by ___FULLUSERNAME___ on ___DATE___.
// ___COPYRIGHT___
//
然后,将文件拷贝到指定的目录
最后,创建文件测试下
指定的目录
通过将 IDETemplateMacros.plist 文件放置到不同的目录,其影响的范围也不同:
只对当前 Project 指定的用户(username)有影响
<ProjectName>.xcodeproj/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
对当前 Project 的所有成员有影响
<ProjectName>.xcodeproj/xcshareddata/IDETemplateMacros.plist
对指定用户的 Workspace 下的 Project 有影响
<WorkspaceName>.xcworkspace/xcuserdata/[username].xcuserdatad/IDETemplateMacros.plist
对所有成员 Workspace 下的 Project 有影响
<WorkspaceName>.xcworkspace/xcshareddata/IDETemplateMacros.plist
对 Xcode 所有创建的文件都有影响
~/Library/Developer/Xcode/UserData/IDETemplateMacros.plist
Q & A
问:你是怎么知道 FILEHEADER 这个宏就是头部注释说明的?
答:在 Xcode Help 上有个对应文件对内置宏进行了说明
问:能否对宏进行额外操作呢,如:FILENAME 不想要后缀?
答:可以。你可以在宏的后面通过冒号(:)进行连接,后面添加修饰语来对宏进行操作,修饰语见这里。