Cambiar plantillas en Xcode

106

¿Cómo cambiaría las plantillas iniciales creadas por Xcode al crear una nueva Clase Cocoa?

Me refiero a los comentarios y al nombre de la clase creados al usar el asistente de clases nuevas de Xcode.

Misha M
fuente
Para esta pregunta de 11 años (!), NO existe una solución automática muy simple y objetiva que persista entre las instalaciones de Xcode. Puse la solución moderna en una respuesta en la parte inferior. Es realmente así de fácil y no existe otra solución confiable y viable.
Fattie
¡¡Por esto ahora 12 !! pregunta de hace un año, realmente la respuesta actual correcta es: stackoverflow.com/a/57510348/294884
Fattie

Respuestas:

101

No cambiarías las plantillas existentes. En otras palabras, no modifique nada bajo la /Developerjerarquía (o donde haya instalado sus herramientas de desarrollo).

En su lugar, clone las plantillas de las que desea tener variantes personalizadas. Luego cambie sus nombres y la información que contienen. Finalmente, colóquelos en la ubicación adecuada en la Library/Application Supportcarpeta de su cuenta , específicamente:

  • Plantillas de archivo: ~/Library/Application Support/Developer/Shared/Xcode/File Templates/
  • Plantillas de destino: ~/Library/Application Support/Developer/Shared/Xcode/Target Templates/
  • Plantillas de proyecto: ~/Library/Application Support/Developer/Shared/Xcode/Project Templates/

De esa manera, no se sobrescribirán cuando instale nuevas herramientas de desarrollo y podrá ajustarlas al contenido de su corazón.

Actualización Para versiones más recientes de Xcode, la ruta actualizada será: ~/Library/Developer/Xcode/Templates/File Templates/Source

Chris Hanson
fuente
5
Si no tiene las rutas anteriores, puede crearlas. No cambie las plantillas en / Developer, porque no necesariamente sobrevivirán a la desinstalación y reinstalación de las herramientas. Trátelo como / System.
Chris Hanson
2
Sigo cambiando los que están en / Developer porque en realidad los cambia en lugar de crear otros nuevos que son casi iguales. El uso de la biblioteca del directorio de inicio no sobrescribe la de / Developer, la considera una plantilla diferente. Solo uso la biblioteca de casa para crear nuevas plantillas, no para cambiar las existentes. Puedo recordar mover las plantillas antes de instalar un nuevo xcode, y por cierto no es ~ / Library / Developer / ...., es ~ / Library / ** Application Support / ** Developer / ...
mk12
4
En Xcode 4.5, la ruta aquí: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates
huyleit
5
En XCode5, debe copiar las plantillas a la ruta: ~ / Library / Developer / Xcode / Templates / Application / Project Templates. Si las plantillas / aplicaciones / plantillas de proyecto no existen,
créelo
2
Si desea que la plantilla también aparezca en iOS, agregue "com.apple.platform.iphoneos" a la lista de Plataformas en TemplateInfo.plist.
Lukas Kalinski
45

Esto puede ser útil para alguien:

En cuanto a XCode 6 a XCode 9, las plantillas de archivo están en:

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

Actualización: como señaló @ carbo18, probablemente sea mejor crear el directorio ~/Library/Developer/Xcode/Templates/File Templates/Sourcey poner sus plantillas personalizadas allí. La mejor forma puede ser utilizar como base uno de los de/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source

concepto
fuente
2
Es mejor no modificar el contenido de Xcode.app porque Apple puede simplemente sobrescribir las carpetas de la plantilla. Una mejor opción es crear el ~/Library/Developer/Xcode/Templates/File Templates/Sourcedirectorio y colocar la plantilla allí. Aparecerán correctamente en el cuadro de diálogo.
carbo18
A partir de xcode 7.3.1, esto parece no funcionar más
Brynjar
32

Xcode utiliza archivos de plantilla para las plantillas de archivos y proyectos y realiza una expansión variable en ambos en el momento de la creación.

Las plantillas de Xcode 3.0 se pueden encontrar en [Instalación del desarrollador] / Library / Xcode /, probablemente / Developer / Library / Xcode. Si desea modificar estas plantillas o agregar las suyas propias, use los siguientes directorios para guardar sus plantillas nuevas / modificadas para que no se borren con futuras actualizaciones de la Herramienta de desarrollo:

  • Plantillas de archivo: ~ / Library / Developer / Shared / Xcode / File Templates /
  • Plantillas de destino: ~ / Biblioteca / Desarrollador / Compartido / Xcode / Plantillas de destino /
  • Plantillas de proyecto: ~ / Library / Developer / Shared / Xcode / Project Templates /

Creo que también puede usar el directorio / Library / Developer / Shared / Xcode / [File | Target | Project] Templates / para las plantillas compartidas por todos los usuarios.

Si solo desea cambiar MyCompanyName en las plantillas, la siguiente línea de comando hará el truco:

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

Un buen tutorial sobre cómo escribir plantillas de archivos está aquí [MacResearch.org].

Barry Wark
fuente
Para cambiar el nombre de la empresa, también puede cambiar la información de contacto de su usuario: stackoverflow.com/questions/10245689/…
Elisabeth
12

En Xcode 4 y Xcode 5, las plantillas de archivos de usuario se pueden colocar en:
~/Library/Developer/Xcode/Templates/[Category]

[Categoría] se puede utilizar para categorizar sus plantillas (elija un nombre de su elección)

Si la carpeta aún no existe, ¡créela!

v01pe
fuente
3
@Dimitris: Estas son las plantillas internas ... Estaba hablando de las plantillas de USUARIO, si quieres crear nuevas o variantes personalizadas como sugirió Chris Hanson, y no te metas con las originales.
v01pe
7

A partir de Xcode 7

  • Plantillas de archivo: ~/Library/Developer/Xcode/Templates/File Templates
  • Plantillas de proyecto: ~/Library/Developer/Xcode/Templates/Project Templates

Por ejemplo, si coloco un Empty Application.xctemplateen~/Library/Developer/Xcode/Templates/Project Templates/Application

Aparecerá en el cuadro de diálogo de la plantilla como Diálogo de plantilla

carbo18
fuente
Si cambia los archivos a esta carpeta, ¿se sobrescribirán cuando se instalen nuevas versiones de xCode?
ajmccall
No, no lo harían ya que está creando su propia carpeta y esta carpeta está vacía de forma predeterminada y está ahí para ese propósito. Desearía que Apple documentara mejor estas cosas. Hay un inconveniente en este método, ya que es por usuario. Tendría que copiar las plantillas a cada usuario en la computadora, si hay muchas. Pero esto sería poco común, creo, ya que la mayoría de los desarrolladores tienen su propia computadora.
carbo18
¿Cómo cambiaría la plantilla UIViewController predeterminada para archivos Swift? Dejar caer un archivo en ~/Library/Developer/Xcode/Templates/File Templatesnamed UIViewContoller.swiftno funciona .. ¡Gracias!
Lapidus
Agregar una plantilla de archivo es un poco más complicado que simplemente agregar un archivo rápido. El UIViewController.swift se crea realmente a través de la plantilla Cocoa Touch. Si desea ver cómo se ve la plantilla de Apple para que pueda crear la suya propia. Muestra el contenido de la aplicación Xcode. Y navegue Contents/Developer/Library/Xcode/Templates/File Templates/Sourcey observe el Cocoa Class.xctemplate. Aquí obtendrá una mejor idea de cómo se creó esa plantilla, luego puede copiar esta plantilla en la carpeta especificada anteriormente y modificarla según sus especificaciones.
carbo18
6

En xcode 5.0.1:

1.Vaya-> Aplicaciones

2.haga clic derecho en la aplicación "xcode"

3.seleccione "Mostrar contenido del paquete"

4.contenido / Desarrollador / Biblioteca / Xcode / Plantillas

tanyanzhi
fuente
3

Versión sensata, rápida y lista 2020

Comprobado con Xcode 11.5

No es necesario salir de Xcode, puede hacer esto mientras se está ejecutando:

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

presentado como una línea para que pueda copiar fácilmente desde esta página web

haz una ls, y luego

sudo chmod oug+rw ___FILEBASENAME___.swift

ingresarás tu contraseña

y entonces

nano ___FILEBASENAME___.swift

agregar por ejemplo import UIKit .

o agregue por ejemplo class ___FILEBASENAME___:

Salvar.

Ya terminaste.

Claro, esto se borra en la instalación de Xcode, pero en realidad modifica el botón Swift "principal" cuando haces clic para crear un archivo en Xcode. . Disfrutar.

Ésta es la única solución razonable que funciona.

Se necesitan 2 segundos para volver a hacerlo cuando actualiza Xcode.

Fattie
fuente
1

Para Xcode 4.4, ninguno de los métodos mencionados anteriormente funciona. Esta esencia proporciona una solución hacky parcial. Por favor bifurque y mejore si conoce una forma mejor.

Manav
fuente
1

Haga clic derecho en xCode y seleccione Mostrar contenido del paquete , luego vaya a contents/Developer/Library/Xcode/Templates. Aquí puede encontrar las plantillas para todos los lenguajes de programación.

Aquí alguna visualización:


ingrese la descripción de la imagen aquí


ingrese la descripción de la imagen aquí

Alex Cio
fuente
0

Si simplemente está buscando cambiar el nombre del autor y la organización, vea esta respuesta .

Es mucho más fácil que modificar las plantillas.

ChrisJF
fuente
-8

En XCode 4.5, haga clic derecho en el proyecto, haga clic en Mostrar inspector de archivos, luego cambie el nombre de la organización en la segunda pestaña del inspector de archivos (grupo Documento del proyecto)

Denis Kutlubaev
fuente
4
Simplemente mal, pero no puedo rechazar este voto hasta que mi reputación sea 125, ¡ayúdenme chicos !
Stuart P.
@StuartP. uniéndose a la causa, supongo
Isaac Carol Weisberg