Xcode模板自定义

在 Xcode 中,当你创建一个新的 Swift 文件时,默认情况下它会包含一些标准的模板内容。例如,如果你创建一个 UIView 或 UIViewController 的子类,Xcode 会自动生成一些基本的代码结构。

然而,如果你想要自定义这些模板内容,你可以通过修改 Xcode 的模板文件来实现。

一、自定义xcode模板

以下是如何自定义 Xcode 模板文件的步骤:

1、找到模板文件

Xcode 的模板文件通常位于以下路径:

/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/

你可以找到不同类型的模板文件,例如 Source 文件夹中包含 Swift 文件的模板。


image.png

2、创建自定义模板文件夹

你可以在以下路径创建一个自定义模板文件夹:

~/Library/Developer/Xcode/Templates/

当电脑上安装有多个xcode时候需要注意:
~/Library/Developer/Xcode/Templates/这个路径是通用的
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/这个路径是某个Xcode的

在这个文件夹中,你可以创建一个新的文件夹,例如 Custom File Templates。

3、复制原始模板

从原始模板文件夹中复制你想要自定义的模板文件到你创建的自定义模板文件夹中。

4、修改模板文件

打开复制的模板文件,并根据需要进行修改。模板文件通常是 .xctemplate 文件夹,其中包含一个或多个 .swift 文件。

5、添加自定义内容

在模板文件中,你可以添加自定义内容。例如,你可以在 ___FILEBASENAME___.swift文件中添加以下内容:

swift
import UIKit

class ___FILEBASENAMEASIDENTIFIER___: UIView {
    // 自定义初始化代码
    override init(frame: CGRect) {
        super.init(frame: frame)
        setupView()
    }
    
    required init?(coder aDecoder: NSCoder) {
        super.init(coder: aDecoder)
        setupView()
    }
    
    private func setupView() {
        // 自定义设置代码
    }
}

6、保存并使用自定义模板

保存修改后的模板文件,并重启 Xcode。现在,当你创建一个新的 Swift 文件时,你可以选择你自定义的模板,并自动包含你添加的标准代码。

通过这些步骤,你可以自定义 Xcode 的模板文件,以便在创建新的 Swift 文件时自动包含你需要的标准内容。

二、附录

1、TemplateInfo.plist 常见属性说明

属性名 描述 值类型 示例值
Kind 指定模板的类型 字符串 Xcode.IDEKit.TextSubstitutionFileTemplateKind
Identifier 模板的唯一标识符 字符串 com.example.MyTemplate
Ancestors 指定模板继承的其他模板 数组 ["com.apple.dt.unit.storyboard"]
Concrete 指定模板是否是具体模板 布尔值 YES
Description 模板的描述信息 字符串 My custom Swift file template
SortOrder 模板的排序顺序 整数 10
Options 模板的选项 数组
Options > Identifier 选项的唯一标识符 字符串 com.example.OptionName
Options > Name 选项的显示名称 字符串 Option Name
Options > Description 选项的描述信息 字符串 This is a custom option
Options > Type 选项的类型 字符串 text
Options > Default 选项的默认值 字符串/布尔值 YES
Options > Values 选项的可选值(仅适用于 popup 类型) 数组 ["Value1", "Value2"]
Options > RequiredOptions 选项的依赖选项(仅适用于 popup 类型) 字典
Options > FileName 选项对应的文件名(仅适用于 text 类型) 字符串 MyFile.swift
Options > Replaces 选项替换的占位符(仅适用于 text 类型) 字符串 ___FILEBASENAME___
Options > Units 选项的单位(仅适用于 popup 类型) 字典
Options > Units > Identifier 单位的唯一标识符 字符串 com.example.UnitName
Options > Units > Name 单位的显示名称 字符串 Unit Name
Options > Units > Description 单位的描述信息 字符串 This is a custom unit
Options > Units > Files 单位对应的文件 数组
Options > Units > Files > Path 文件的路径 字符串 MyFile.swift
Options > Units > Files > Name 文件的名称 字符串 MyFile
Options > Units > Files > TargetIdentifiers 文件的目标标识符 数组 ["com.apple.dt.unit.storyboard"]

2、模板文件中占位符字符串

当你使用 Xcode 模板创建新文件时,这个占位符会被实际的文件名替换。

  • ___FILEBASENAME___: 表示生成的文件的基本名称(即不包含路径和扩展名的文件名)
  • ___FILENAME___:表示完整的文件名(包含扩展名)。
  • ___PROJECTNAME___:表示项目的名称。
  • ___PRODUCT_MODULE_NAME___:表示产品模块的名称。
  • ___FULLUSERNAME___:表示当前用户的完整用户名。
  • ___DATE___:表示当前日期。
  • ___TIME___:表示当前时间。

3、自定义模板使用

  • 将自定义模板传到git仓库
  • git clone到本地
  • 将自定义模板拷贝到以下目录下:
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates/File Templates/
  • 重启Xcode
  • 想正常创建新的文件一样,选择自定义的模板名称即可
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。