更改Xcode中的模板


106

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

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


对于这个已有11年历史的问题(!),实际上并没有非常简单的自动解决方案在Xcode安装之间持续存在。我将现代解决方案放在底部的答案中。真的很简单,没有其他可靠,可行的解决方案。
Fattie

对于这个现在12!岁的问题,真正正确的当前答案是:stackoverflow.com/a/57510348/294884
Fattie

Answers:


101

您不会更改现有模板。换句话说,请勿在层次结构下(或安装了开发人员工具的任何位置)进行任何修改/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


5
如果没有上面的路径,则可以创建它们。不要在/ Developer中更改模板,因为它们在卸载和重新安装工具后不一定能幸免。像/系统一样对待它。
克里斯·汉森

2
我仍然只是在/ Developer中更改它们,因为它实际上更改了它,而不是创建几乎相同的新文件。使用主目录库不会覆盖/ Developer目录库,而是将其视为不同的模板。我仅使用主库创建新模板,而不更改现有模板。我可以记得在安装新的xcode之前先移动模板,顺便说一下,它不是〜/ Library / Developer / ....,〜/ Library / ** Application Support / ** Developer / ...
mk12

4
在Xcode 4.5中,此处的路径为:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates
huyleit 2013年

5
在XCode5中,您应该将模板复制到以下路径:〜/ Library / Developer / Xcode / Templates / Application / Project Templates。如果模板/应用程序/项目模板不存在,请创建它
seufagner 2013年

2
如果您也希望模板也出现在iOS下,请在TemplateInfo.plist的“平台”列表中添加“ com.apple.platform.iphoneos”。
卢卡斯·卡林斯基

45

这对某些人可能有用:

对于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的内容,因为Apple可以覆盖模板文件夹。更好的选择是创建~/Library/Developer/Xcode/Templates/File Templates/Source目录并将模板放在此处。它们将正确显示在对话框中。
carbo18'1

从xcode 7.3.1开始,它似乎不再起作用
Brynjar

32

Xcode使用模板文件作为文件和项目模板,并在创建时同时进行变量扩展。

Xcode 3.0模板可以在[Dev Installation] / Library / Xcode /(可能是/ Developer / Library / Xcode)中找到。如果要修改这些模板或添加自己的模板,请使用以下目录保存新的/修改的模板,以免将来的Developer Tool升级将它们抹去:

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

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

如果您只想更改模板中的MyCompanyName,则可以使用以下命令行来完成:

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

在写文件模板一个好的教程是这里 [MacResearch.org。


:对于刚刚更改公司名称,你也可以改变你的用户联系信息stackoverflow.com/questions/10245689/...
伊丽莎白

12

在Xcode 4和Xcode 5中,用户文件模板可以放在以下位置:
~/Library/Developer/Xcode/Templates/[Category]

[类别]可用于对模板进行分类(选择名称)

如果该文件夹尚不存在,请创建它!


3
@Dimitris:这是内部模板...我在谈论USER模板,如果您想创建新模板或克里斯·汉森(Chris Hanson)建议的自定义变体,并且不要弄乱原始模板。
v01pe 2012年

7

从Xcode 7开始

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

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

它将在模板对话框中显示为 模板对话框


如果将文件更改为该文件夹,则在安装新版本的xCode时会覆盖它们吗?
ajmccall '02

不,他们不会,因为您正在创建自己的文件夹,并且该文件夹在默认情况下为空,并且为此目的而存在。我希望苹果能更好地记录这些东西。这种方法有一个缺点,因为它是按用户使用的。如果有很多模板,则必须将模板复制到计算机上的每个用户。但我认为这并不常见,因为大多数开发人员都拥有自己的计算机。
carbo18 '16

如何更改Swift文件的默认UIViewController模板?删除~/Library/Developer/Xcode/Templates/File Templates名为named 的文件UIViewContoller.swift不起作用。
Lapidus

添加文件模板比添加快速文件要复杂得多。实际上,UIViewController.swift是通过可可触摸模板创建的。如果要查看Apple模板的外观,以便可以创建自己的模板。显示Xcode应用程序的内容。然后导航到Contents/Developer/Library/Xcode/Templates/File Templates/Source并查看Cocoa Class.xctemplate。在这里,您将更好地了解该模板的创建方式,然后可以将该模板复制到上面指定的文件夹中,然后将其修改为您的规格。
carbo18 '16

6

在xcode 5.0.1中:

1.转到->应用程序

2.右键单击“ xcode”应用程序

3.选择“显示包装内容”

4.内容/开发人员/库/ Xcode /模板


3

2020快速准备的废话版本

经过Xcode 11.5的检查

无需退出 Xcode,可以在运行时执行以下操作:

cd“ /Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates / Source / Swift File.xctemplate”

以一行显示,因此您可以轻松地从此网页进行复制

做一个ls,然后

sudo chmod oug+rw ___FILEBASENAME___.swift

您将输入密码

然后

nano ___FILEBASENAME___.swift

例如添加import UIKit

或添加例如 class ___FILEBASENAME___:

保存。

你完成了。

当然,这在Xcode安装时已被清除,但是当您单击以在Xcode中创建文件时它实际上修改了“主要” Swift按钮。请享用。

这是唯一可行的合理解决方案。

更新Xcode时,需要2秒钟才能重新执行。


1

对于Xcode 4.4,上述方法均无效。该要点提供了部分hacky解决方案。如果您知道更好的方法,请分叉并增强。


1

右键单击xCode并选择“ 显示软件包内容”,然后转到contents/Developer/Library/Xcode/Templates。在这里,您可以找到所有编程语言的模板。

这里有些可视化:


在此处输入图片说明


在此处输入图片说明



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.