Modifier les modèles dans Xcode

106

Comment changer les modèles initiaux créés par Xcode lors de la création d'une nouvelle classe Cocoa.

Je fais référence aux commentaires et au nom de classe créés lors de l'utilisation du nouvel assistant de classe de Xcode.

Misha M
la source
Pour cette question vieille de 11 ans (!), Il n'y a aucune solution automatique très simple et factuelle qui persiste entre les installations de Xcode. J'ai mis la solution moderne dans une réponse en bas. C'est vraiment aussi simple que cela et il n'y a pas d'autre solution fiable et réalisable.
Fattie
Pour cela maintenant 12 !! question vieille d'un an, la réponse actuelle correcte est: stackoverflow.com/a/57510348/294884
Fattie le

Réponses:

101

Vous ne changeriez pas les modèles existants. En d'autres termes, ne modifiez rien sous le/Developer hiérarchie (ou partout où vous avez installé vos outils de développement).

Au lieu de cela, clonez les modèles dont vous souhaitez avoir des variantes personnalisées. Puis changez leurs noms et les informations qu'ils contiennent. Enfin, placez-les à l'emplacement approprié dans le Library/Application Supportdossier de votre compte , en particulier:

  • Modèles de fichiers: ~/Library/Application Support/Developer/Shared/Xcode/File Templates/
  • Modèles cibles: ~/Library/Application Support/Developer/Shared/Xcode/Target Templates/
  • Modèles de projet: ~/Library/Application Support/Developer/Shared/Xcode/Project Templates/

De cette façon, ils ne seront pas écrasés lorsque vous installerez de nouveaux outils de développement et vous pourrez les modifier à votre guise.

Mise à jour Pour les versions plus récentes de Xcode, le chemin mis à jour sera: ~/Library/Developer/Xcode/Templates/File Templates/Source

Chris Hanson
la source
5
Si vous ne disposez pas des chemins ci-dessus, vous pouvez les créer. Ne modifiez pas les modèles dans / Developer, car ils ne survivront pas nécessairement à la désinstallation et à la réinstallation des outils. Traitez-le comme / System.
Chris Hanson
2
Je ne fais que changer ceux dans / Developer, car cela le change au lieu d'en créer de nouveaux qui sont presque les mêmes. L'utilisation de la bibliothèque de répertoires personnels n'écrase pas celle de / Developer, elle la considère comme un modèle différent. J'utilise uniquement la bibliothèque personnelle pour créer de nouveaux modèles, pas pour changer ceux existants. Je me souviens de déplacer les modèles avant d'installer un nouveau xcode, et d'ailleurs ce n'est pas ~ / Library / Developer / ...., son ~ / Library / ** Application Support / ** Developer / ...
mk12
4
Dans Xcode 4.5, le chemin ici: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates
huyleit
5
Dans XCode5, vous devez copier les modèles dans le chemin: ~ / Library / Developer / Xcode / Templates / Application / Project Templates. Si Templates / Application / Project Templates n'existe pas, créez-le
seufagner
2
Si vous souhaitez que le modèle apparaisse également sous iOS, ajoutez "com.apple.platform.iphoneos" à la liste Plates-formes dans TemplateInfo.plist.
Lukas Kalinski le
45

Cela peut être utile pour quelqu'un:

Comme pour XCode 6 à XCode 9, les modèles de fichiers sont dans:

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

Mise à jour: comme @ carbo18 l'a noté, il est probablement préférable de créer le répertoire ~/Library/Developer/Xcode/Templates/File Templates/Sourceet d'y placer vos modèles personnalisés. Le meilleur moyen peut être d'utiliser comme base l'un de ceux de/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source

pconcepcion
la source
2
Il vaut mieux ne pas modifier le contenu de Xcode.app car Apple peut simplement écraser les dossiers de modèles. Une meilleure option consiste à créer le ~/Library/Developer/Xcode/Templates/File Templates/Sourcerépertoire et à y placer le modèle. Ils apparaîtront correctement dans la boîte de dialogue.
carbo18
À partir de xcode 7.3.1, cela ne semble plus fonctionner
Brynjar
32

Xcode utilise des fichiers de modèle pour les modèles de fichiers et de projets et effectue une expansion variable dans les deux au moment de la création.

Les modèles Xcode 3.0 peuvent être trouvés dans [Dev Installation] / Library / Xcode /, probablement / Developer / Library / Xcode. Si vous souhaitez modifier ces modèles ou ajouter les vôtres, utilisez les répertoires suivants pour enregistrer vos modèles nouveaux / modifiés afin qu'ils ne soient pas supprimés par les futures mises à niveau de Developer Tool:

  • Modèles de fichiers: ~ / Library / Developer / Shared / Xcode / File Templates /
  • Modèles cibles: ~ / Library / Developer / Shared / Xcode / Target Templates /
  • Modèles de projet: ~ / Library / Developer / Shared / Xcode / Project Templates /

Je pense que vous pouvez également utiliser le répertoire / Library / Developer / Shared / Xcode / [File | Target | Project] Templates / pour les modèles partagés par tous les utilisateurs.

Si vous souhaitez simplement modifier le MyCompanyName dans les modèles, la ligne de commande suivante fera l'affaire:

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

Un bon tutoriel sur l'écriture de modèles de fichiers est ici [MacResearch.org].

Barry Wark
la source
Pour simplement changer le nom de l'entreprise, vous pouvez également modifier vos coordonnées utilisateur: stackoverflow.com/questions/10245689/…
Elisabeth
12

Dans Xcode 4 et Xcode 5, les modèles de fichiers utilisateur peuvent être placés à:
~/Library/Developer/Xcode/Templates/[Category]

[Category] peut être utilisé pour classer vos modèles (choisissez un nom de votre choix)

Si le dossier n'existe pas déjà, créez-le!

v01pe
la source
3
@Dimitris: Ce sont les modèles internes ... Je parlais des modèles USER, si vous voulez en créer de nouveaux ou des variantes personnalisées comme le suggérait Chris Hanson, et ne pas jouer avec les originaux.
v01pe
7

À partir de Xcode 7

  • Modèles de fichiers: ~/Library/Developer/Xcode/Templates/File Templates
  • Modèles de projet: ~/Library/Developer/Xcode/Templates/Project Templates

Par exemple, si je place un Empty Application.xctemplatedans~/Library/Developer/Xcode/Templates/Project Templates/Application

Il apparaîtra dans la boîte de dialogue du modèle comme Boîte de dialogue de modèle

carbo18
la source
Si vous modifiez des fichiers dans ce dossier, seront-ils écrasés lors de l'installation de nouvelles versions de xCode?
ajmccall
Non, ils ne le feraient pas puisque vous créez votre propre dossier et ce dossier est vide par défaut et est là pour cela. Je souhaite qu'Apple documente mieux ce genre de choses. Il y a un inconvénient à cette méthode, car elle est par utilisateur. Vous devrez copier les modèles sur chaque utilisateur de l'ordinateur, s'il y en a beaucoup. Mais ce serait rare, je pense, puisque la plupart des développeurs ont leur propre ordinateur.
carbo18
Comment changer le modèle UIViewController par défaut pour les fichiers Swift? Déposer un fichier dans ~/Library/Developer/Xcode/Templates/File Templatesnamed UIViewContoller.swiftne fonctionne pas .. Thx!
Lapidus
L'ajout d'un modèle de fichier est un peu plus complexe que l'ajout d'un fichier rapide. Le UIViewController.swift est en fait créé via le modèle Cocoa Touch. Si vous voulez voir à quoi ressemble le modèle Apple afin de pouvoir créer le vôtre. Affichez le contenu de l'application Xcode. Et accédez à Contents/Developer/Library/Xcode/Templates/File Templates/Sourceet regardez le fichier Cocoa Class.xctemplate. Ici, vous aurez une meilleure idée de la façon dont ce modèle a été créé, vous pouvez ensuite copier ce modèle dans le dossier spécifié ci-dessus et le modifier selon vos spécifications.
carbo18
6

Dans xcode 5.0.1:

1.Go-> Applications

2. cliquez avec le bouton droit sur l'application "xcode"

3. choisissez "Afficher le contenu de l'emballage"

4. contenu / développeur / bibliothèque / Xcode / modèles

tanyanzhi
la source
3

Version 2020 rapide et prête à l'emploi

Vérifié avec Xcode 11.5

Pas besoin de quitter Xcode, vous pouvez le faire pendant qu'il est en cours d'exécution:

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

présenté comme une seule ligne afin que vous puissiez copier facilement à partir de cette page Web

faire un ls, puis

sudo chmod oug+rw ___FILEBASENAME___.swift

vous entrerez votre mot de passe

puis

nano ___FILEBASENAME___.swift

ajouter par exemple import UIKit.

ou ajouter par exemple class ___FILEBASENAME___:

Sauver.

Vous avez terminé.

Bien sûr, cela est nettoyé lors de l'installation de Xcode, mais cela modifie en fait le bouton Swift "principal" lorsque vous cliquez pour créer un fichier dans Xcode . Prendre plaisir.

C'est la seule solution raisonnable qui fonctionne.

Cela prend 2 secondes pour le refaire lorsque vous mettez à jour Xcode.

Fattie
la source
1

Pour Xcode 4.4, aucune des méthodes mentionnées précédemment ne fonctionne. Cet essentiel fournit une solution partielle de piratage. Veuillez bifurquer et améliorer si vous connaissez un meilleur moyen.

Manav
la source
1

Cliquez avec le bouton droit sur xCode et sélectionnez Afficher le contenu du package , puis accédez à contents/Developer/Library/Xcode/Templates. Ici vous pouvez trouver les modèles pour tous les langages de programmation.

Voici quelques visualisations:


entrez la description de l'image ici


entrez la description de l'image ici

Alex Cio
la source
0

Si vous cherchez simplement à changer le nom de l' auteur et l' organisation, consultez cette réponse .

C'est beaucoup plus facile que de modifier les modèles.

ChrisJF
la source
-8

Dans XCode 4.5, faites un clic droit sur le projet, cliquez sur Afficher l'inspecteur de fichiers, puis changez le nom de l'organisation dans le deuxième onglet de l'inspecteur de fichiers (groupe Document de projet)

Denis Kutlubaev
la source
4
Tout simplement faux, mais je ne peux pas voter avant d'avoir une réputation de 125, aidez-moi les gars !
Stuart P.
@StuartP. rejoindre la cause je suppose
Isaac Carol Weisberg