Alterar modelos no Xcode

106

Como eu mudaria os modelos iniciais criados pelo Xcode ao criar uma nova classe Cocoa.

Refiro-me aos comentários e ao nome da classe criados ao usar o novo assistente de classe do Xcode.

Misha M
fonte
Para esta questão de 11 anos (!), Não existe uma solução automática muito simples e prática que persiste entre as instalações do Xcode. Coloquei a solução moderna em uma resposta na parte inferior. É realmente tão fácil e não há outra solução confiável e viável.
Fattie
Por agora 12 !! pergunta de um ano de idade, realmente a resposta atual correta é: stackoverflow.com/a/57510348/294884
Fattie

Respostas:

101

Você não mudaria os modelos existentes. Em outras palavras, não modifique nada na /Developerhierarquia (ou onde quer que você tenha instalado suas ferramentas de desenvolvedor).

Em vez disso, clone os modelos dos quais deseja ter variantes personalizadas. Em seguida, altere seus nomes e as informações neles. Por fim, coloque-os no local apropriado na Library/Application Supportpasta da sua conta , especificamente:

  • Modelos de arquivo: ~/Library/Application Support/Developer/Shared/Xcode/File Templates/
  • Modelos de destino: ~/Library/Application Support/Developer/Shared/Xcode/Target Templates/
  • Modelos de projeto: ~/Library/Application Support/Developer/Shared/Xcode/Project Templates/

Dessa forma, eles não serão sobrescritos quando você instalar novas ferramentas de desenvolvedor, e você pode ajustá-los como quiser.

Atualizar Para versões mais recentes do Xcode, o caminho atualizado será: ~/Library/Developer/Xcode/Templates/File Templates/Source

Chris Hanson
fonte
5
Se você não tem os caminhos acima, pode criá-los. Não altere os modelos em / Developer, porque eles não sobreviverão necessariamente à desinstalação e reinstalação das ferramentas. Trate-o como / System.
Chris Hanson
2
Eu ainda mudo aqueles em / Developer porque então ele realmente muda em vez de criar novos que são quase iguais. Usar a biblioteca do diretório inicial não sobrescreve a / Developer, ela a considera um modelo diferente. Eu só uso a biblioteca doméstica para criar novos modelos, não alterando os existentes. Lembro-me de mover os modelos antes de instalar um novo xcode e, a propósito, não é ~ / Library / Developer / ...., é ~ / Library / ** Application Support / ** Developer / ...
mk12
4
No Xcode 4.5, o caminho aqui: /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Templates
huyleit
5
No XCode5, você deve copiar os modelos para o caminho: ~ / Library / Developer / Xcode / Templates / Application / Project Templates. Se Templates / Application / Project Templates não existem, crie-o
seufagner 12/10/2013
2
Se você quiser que o modelo apareça no iOS também, adicione "com.apple.platform.iphoneos" à lista de Plataformas em TemplateInfo.plist.
Lukas Kalinski
45

Isso pode ser útil para alguém:

Quanto ao XCode 6 a XCode 9, os modelos de arquivo estão em:

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

Atualização: como @ carbo18 observou, é provavelmente melhor criar o diretório ~/Library/Developer/Xcode/Templates/File Templates/Sourcee colocar seus modelos personalizados lá. A melhor maneira pode ser usar como base um dos que estão em/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/File Templates/Source

concepção
fonte
2
É melhor não modificar o conteúdo do Xcode.app porque a Apple pode simplesmente substituir as pastas de modelo. A melhor opção é criar o ~/Library/Developer/Xcode/Templates/File Templates/Sourcediretório e colocar o modelo nele. Eles aparecerão corretamente na caixa de diálogo.
carbo18 01 de
A partir do xcode 7.3.1, isso parece não funcionar mais
Brynjar
32

O Xcode usa arquivos de modelo para modelos de arquivo e projeto e faz expansão de variável em ambos no momento da criação.

Os modelos do Xcode 3.0 podem ser encontrados em [Dev Installation] / Library / Xcode /, provavelmente / Developer / Library / Xcode. Se você deseja modificar esses modelos ou adicionar os seus próprios, use os seguintes diretórios para salvar seus modelos novos / modificados para que não sejam apagados por futuras atualizações da Ferramenta de Desenvolvedor:

  • Modelos de arquivo: ~ / Biblioteca / Desenvolvedor / Compartilhado / Xcode / Modelos de arquivo /
  • Modelos de destino: ~ / Biblioteca / Desenvolvedor / Compartilhado / Xcode / Modelos de destino /
  • Modelos de projeto: ~ / Biblioteca / Desenvolvedor / Compartilhado / Xcode / Modelos de projeto /

Eu acho que você também pode usar o diretório / Library / Developer / Shared / Xcode / [File | Target | Project] para modelos compartilhados por todos os usuários.

Se você deseja apenas alterar MyCompanyName nos modelos, a seguinte linha de comando resolverá o problema:

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

Um bom tutorial sobre como escrever modelos de arquivo está aqui [MacResearch.org].

Barry Wark
fonte
Para alterar apenas o nome da empresa, você também pode alterar suas informações de contato do usuário: stackoverflow.com/questions/10245689/…
Elisabeth
12

No Xcode 4 e no Xcode 5, os modelos de arquivo do usuário podem ser colocados em:
~/Library/Developer/Xcode/Templates/[Category]

[Categoria] pode ser usada para categorizar seus modelos (escolha um nome de sua escolha)

Se a pasta ainda não existir, crie-a!

v01pe
fonte
3
@Dimitris: Estes são os modelos internos… Eu estava falando sobre os modelos de USUÁRIO, se você quiser criar novos ou variantes customizadas como o Chris Hanson sugeriu, e não mexa com os originais.
v01pe
7

A partir do Xcode 7

  • Modelos de arquivo: ~/Library/Developer/Xcode/Templates/File Templates
  • Modelos de projeto: ~/Library/Developer/Xcode/Templates/Project Templates

Por exemplo, se eu colocar um Empty Application.xctemplateem~/Library/Developer/Xcode/Templates/Project Templates/Application

Irá aparecer na janela do modelo como Diálogo de modelo

carbo18
fonte
Se você alterar os arquivos para esta pasta, eles serão substituídos quando novas versões do xCode forem instaladas?
ajmccall
Não, eles não fariam isso, pois você está criando sua própria pasta e esta pasta está vazia por padrão e existe para esse propósito. Eu gostaria que a Apple documentasse melhor essas coisas. Existe uma desvantagem neste método, pois é por usuário. Você teria que copiar os modelos para cada usuário no computador, se houver muitos. Mas isso seria incomum, eu acho, já que a maioria dos desenvolvedores tem seu próprio computador.
carbo18
Como eu mudaria o modelo UIViewController padrão para arquivos Swift? Soltar um arquivo no ~/Library/Developer/Xcode/Templates/File Templatesnamed UIViewContoller.swiftnão funciona .. Thx!
Lapidus de
Adicionar um modelo de arquivo é um pouco mais complicado do que apenas adicionar um arquivo rápido. O UIViewController.swift é realmente criado por meio do Cocoa Touch Template. Se você quiser ver a aparência do modelo da Apple, poderá criar o seu próprio. Mostra o conteúdo do aplicativo Xcode. E navegue até Contents/Developer/Library/Xcode/Templates/File Templates/Sourcee observe o Cocoa Class.xctemplate. Aqui você terá uma ideia melhor de como esse modelo foi criado, você pode então copiar este modelo para a pasta especificada acima e modificá-lo de acordo com suas especificações.
carbo18
6

No xcode 5.0.1:

1. Vá-> Aplicativos

2. clique com o botão direito do mouse no aplicativo "xcode"

3. escolha "Mostrar conteúdo do pacote"

4. Conteúdo / Desenvolvedor / Biblioteca / Xcode / Modelos

tanyanzhi
fonte
3

Versão rápida e pronta para 2020

Verificado com Xcode 11.5

Não há necessidade de sair do Xcode, você pode fazer isso enquanto ele está em execução:

cd "/Applications/Xcode.app/Contents/Developer/Library/Xcode/Templates/Modelos de arquivo / Fonte / Arquivo Swift.xctemplate"

apresentado como uma linha para que você possa copiar facilmente desta página da web

faça um ls, e então

sudo chmod oug+rw ___FILEBASENAME___.swift

você digitará sua senha

e depois

nano ___FILEBASENAME___.swift

adicione por exemplo import UIKit.

ou adicione por exemplo class ___FILEBASENAME___:

Salve .

Você Terminou.

Claro, isso é limpo na instalação do Xcode, mas na verdade modifica o botão "principal" do Swift quando você clica para criar um arquivo no Xcode . Aproveitar.

Esta é a única solução razoável que funciona.

Leva 2 segundos para refazê-lo quando você atualiza o Xcode.

Fattie
fonte
1

Para o Xcode 4.4, nenhum dos métodos mencionados anteriormente funciona. Essa essência fornece uma solução hacky parcial. Por favor, bifurque e realce se você conhece uma maneira melhor.

Manav
fonte
1

Clique com o botão direito em xCode e selecione Mostrar conteúdo do pacote e vá para contents/Developer/Library/Xcode/Templates. Aqui você pode encontrar os modelos para todas as linguagens de programação.

Aqui estão algumas visualizações:


insira a descrição da imagem aqui


insira a descrição da imagem aqui

Alex Cio
fonte
0

Se você deseja apenas alterar o nome do autor e a organização, consulte esta resposta .

É muito mais fácil do que modificar os modelos.

ChrisJF
fonte
-8

No XCode 4.5, clique com o botão direito do mouse no projeto, clique em Mostrar Inspetor de Arquivos e mude o nome da Organização na segunda guia do inspetor de arquivos (grupo Documento do Projeto)

Denis Kutlubaev
fonte
4
Totalmente errado, mas eu não posso rejeitar essa votação até que minha reputação seja 125, ajudem-me rapazes !
Stuart P.
@StuartP. aderir à causa, eu acho
Isaac Carol Weisberg