在Xcode中更改模板

113

当创建新的Cocoa类时,我该如何更改Xcode创建的初始模板。

我指的是在使用Xcode的新类向导时创建的注释和类名。

10个回答

112
您不应更改现有的模板。换句话说,请勿修改/Developer层次结构(或您安装开发人员工具的任何其他位置)下的任何内容。
相反,克隆您想要定制变体的模板。然后更改它们的名称和其中的信息。最后,将它们放在您帐户的Library/Application Support文件夹中的适当位置,具体而言是:
- 文件模板:~/Library/Application Support/Developer/Shared/Xcode/File Templates/ - 目标模板:~/Library/Application Support/Developer/Shared/Xcode/Target Templates/ - 项目模板:~/Library/Application Support/Developer/Shared/Xcode/Project Templates/ 这样,在安装新的开发人员工具时,它们就不会被覆盖,并且您可以根据需要进行微调。
更新: 对于较新版本的Xcode,更新后的路径为:~/Library/Developer/Xcode/Templates/File Templates/Source

6
如果你没有上述的路径,你可以创建它们。不要更改/Developer目录中的模板文件,因为它们在安装和卸载工具后可能无法保存。把它看作像/System一样处理。 - Chris Hanson
3
我仍然只更改/Developer目录中的文件,因为这样实际上会更改它,而不是创建几乎相同的新文件。使用主目录下的库不会覆盖/Developer目录下的文件,它会将其视为不同的模板。我只使用主目录库来创建新模板,而不是更改现有模板。在安装新的Xcode之前,我可以记得移动模板,顺便说一句,它不是/Library/Developer/...,而是/Library/Application Support/Developer/... - mk12
5
在Xcode 4.5中,此路径为:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates。 - huyleit
6
在XCode5中,您应将模板复制到路径:~/Library/Developer/Xcode/Templates/Application/Project Templates。如果Templates/Application/Project Templates不存在,则创建它。 - seufagner
3
如果您希望该模板也出现在iOS下,请在TemplateInfo.plist的Platforms列表中添加"com.apple.platform.iphoneos"。 - Lukas Kalinski
显示剩余11条评论

47

这可能对某些人有用:

至于从 XCode 6XCode 9,文件模板在以下位置:

/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source

更新: 如@carbo18所指出,最好创建目录~/Library/Developer/Xcode/Templates/File Templates/Source并将您的自定义模板放在那里。最好的方法可能是以/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source中的其中一个作为基础。


2
最好不要修改Xcode.app的内容,因为苹果公司可以覆盖模板文件夹。更好的选择是创建~/Library/Developer/Xcode/Templates/File Templates/Source目录并将模板放在那里。它们将正确地显示在对话框中。 - carbo18
截至 xcode 7.3.1 版本,这似乎不再起作用。 - Brynjar

34

Xcode使用模板文件来创建文件和项目模板,并在创建时进行变量展开。

Xcode 3.0的模板可以在[Dev Installation]/Library/Xcode/中找到,可能是/Developer/Library/Xcode。如果您想修改这些模板或添加自己的模板,请使用以下目录保存新的/修改后的模板,以便它们不会被未来的开发工具升级清除:

  • 文件模板: ~/Library/Developer/Shared/Xcode/File Templates/
  • 目标模板: ~/Library/Developer/Shared/Xcode/Target Templates/
  • 项目模板: ~/Library/Developer/Shared/Xcode/Project Templates/

我认为您也可以使用/Library/Developer/Shared/Xcode/[File|Target|Project] Templates/目录共享所有用户的模板。

如果只想更改模板中MyCompanyName,以下命令行可以实现:

defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{ "ORGANIZATIONNAME" = "NewCompanyName";}'

关于编写文件模板的良好教程在这里[MacResearch.org]。


只需更改公司名称,您也可以更改用户联系信息:https://dev59.com/lmkv5IYBdhLWcg3w8FOY - Elisabeth

13
在 Xcode 4 和 Xcode 5 中,用户文件模板可以放置在以下位置:
~/Library/Developer/Xcode/Templates/[Category] 可以使用 [Category] 来对您的模板进行分类(选择一个自己喜欢的名称)。
如果该文件夹不存在,请创建它!

3
@Dimitris:这些是内部模板......我谈论的是用户模板,如果你想创建新的或自定义变体,就像Chris Hanson建议的那样,并且不要篡改原始模板。 - v01pe

8

自 Xcode 7 开始

  • 文件模板: ~/Library/Developer/Xcode/Templates/File Templates
  • 项目模板: ~/Library/Developer/Xcode/Templates/Project Templates

例如,如果我将Empty Application.xctemplate放在~/Library/Developer/Xcode/Templates/Project Templates/Application中,

它将出现在模板对话框中,如下图所示: Template Dialog


如果您将文件更改为此文件夹,当安装新版本的xCode时,它们会被覆盖吗? - ajmccall
不会,因为您正在创建自己的文件夹,而此文件夹默认为空,并且存在于此目的。我希望苹果能更好地记录这些内容。这种方法有一个缺点,因为它是每个用户的。如果有很多用户,则必须将模板复制到计算机上的每个用户中。但我认为这很少见,因为大多数开发人员都有自己的计算机。 - carbo18
我该如何更改Swift文件的默认UIViewController模板?将一个名为UIViewContoller.swift的文件放入~/Library/Developer/Xcode/Templates/File Templates中并不起作用。谢谢! - Lapidus
添加文件模板比仅添加Swift文件复杂一些。UIViewController.swift实际上是通过Cocoa Touch模板创建的。如果您想查看苹果模板的外观,以便可以创建您自己的模板,请显示Xcode应用程序的内容,然后导航到Contents/Developer/Library/Xcode/Templates/File Templates/Source,并查看Cocoa Class.xctemplate。在这里,您将更好地了解该模板是如何创建的,然后可以将此模板复制到上面指定的文件夹并根据您的规格进行修改。 - carbo18

6
在xcode 5.0.1中:
1.打开“前往”->“应用程序”
2.右键点击“xcode”应用程序
3.选择“显示包内容”
4.找到“contents/Developer/Library/Xcode/Templates”

2
如果你只想更改作者名称组织,请参见此答案。比修改模板要容易得多。

1
右键点击xCode并选择“显示包内容”,然后进入“contents/Developer/Library/Xcode/Templates”文件夹。在这里,您可以找到所有编程语言的模板。
以下是一些可视化说明:

enter image description here


enter image description here


1

对于Xcode 4.4,之前提到的方法都不起作用。这个代码片段提供了一个部分的hacky解决方案。如果您知道更好的方法,请fork并改进。


-8
在XCode 4.5中,右键单击项目,点击“显示文件检查器”,然后在文件检查器的第二个选项卡(项目文档组)中更改组织名称。

4
完全错误,但在我的声望达到125之前我不能取消这个投票,帮帮我吧! - Stu P.
@StuartP. 加入这个事业,我猜。 - Isaaс Weisberg

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接