Com um enorme fluxo de novatos no Xcode, tenho certeza de que há muitas dicas e truques do Xcode a serem compartilhados.
Quais são as suas?
Com um enorme fluxo de novatos no Xcode, tenho certeza de que há muitas dicas e truques do Xcode a serem compartilhados.
Quais são as suas?
Respostas:
Option ⌥ Command ⌘ Up Arrow ↑
Exibir > Alternar para arquivo de cabeçalho / fonte
Alterna entre os arquivos .m
e .h
.
- No Xcode 4, isso é ctrl Command ⌘ Up Arrow ↑
⌘ Command+ Double-Click on a symbol
: Salte para Definição de um símbolo.
⌥ Option+ Double-Click on a symbol
: Encontre texto na documentação de um símbolo. (Funciona apenas se você tiver o conjunto de documentos do símbolo instalado.)
A barra de Favoritos é exatamente como você possui no Safari para armazenar - bem - favoritos. Costumo usá-lo como um local para armazenar atalhos (que você pode fazer arrastando e soltando) nos arquivos que estou usando no momento. Geralmente, isso é mais útil quando estou trabalhando com um projeto grande ou desconhecido.
Para mostrar a barra de favoritos, selecione a seguinte opção de menu:
View
> Layout
>Show Favorites Bar
Tab ⇥OU Control ⌃ /: Selecione o próximo argumento de preenchimento automático.
Shift ⇧ Tab ⇥OU Shift ⇧ Control ⌃ /: Selecione o argumento de preenchimento automático anterior.
Escape ⎋: Mostra a lista pop-up de conclusão automática.
Ao tentar desfazer após salvar, você receberá o seguinte prompt:
"Você está prestes a desfazer o último ponto em que este arquivo foi salvo. Deseja fazer isso?"
Para se livrar desse aviso, digite o seguinte em uma janela do terminal:
defaults write com.apple.Xcode XCShowUndoPastSaveWarning NO
Cole isso no aplicativo Terminal:
defaults write com.apple.Xcode PBXCustomTemplateMacroDefinitions '{"ORGANIZATIONNAME" = "Microsoft";}'
com.yourcompanyname
" em todos os seus modelos:/Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
com.yourcompany
para qualquer valor que você normalmente usa para criar um dispositivo. Eu usei a localização múltipla e a substituição do BBEdit depois que abri o diretório inteiro. Você deve substituir o valor em todos os info.plist
arquivos. Encontrei 8 arquivos para alterar. O número de vezes que uma compilação falhou porque eu esqueci de alterar essa string é ridículo.
- Control ⌃ Option ⌥ Shift ⇧ + <Primeira letra do nome de um grupo>
Se você mantiver as três teclas acima pressionadas, poderá pular rapidamente para os grupos na página esquerda (Grupos e Arquivos) pressionando a primeira letra do nome de um grupo. Por exemplo, Control ⌃Option ⌥Shift ⇧Tleva você para Alvos e Control ⌃Option ⌥Shift ⇧Sa Fonte . Pressione novamente e pula para SCM. Às vezes, são necessárias várias tentativas para que isso funcione (não sei por que).
Control ⌃ .
Shift ⇧ Control ⌃ .: Alterna entre as opções de preenchimento automático.
Control ⌃.(Período de controle) após uma palavra aceitar automaticamente a primeira opção no menu do preenchimento automático. Tente digitar log
em seguida, Control ⌃. e você vai ter uma boa NSLog
nota. Pressione novamente para alternar entre as opções. Para ver todas as opções mutáveis, digite NSMu
então Control ⌃..
Control ⌃ Command ⌘ ? (Enquanto o cursor estiver no símbolo para procurar)
Option ⌥ + <Clique duas vezes em um símbolo>
Ajuda> Ajuda Rápida
Para acessar a documentação na janela Ajuda rápida, clique no ícone de livro no canto superior direito.
- Command ⌘ Option ⌥ + <Clique duas vezes em um símbolo>
Leva você direto à documentação completa.
- Command ⌘ Control ⌃ + <Clique duas vezes no editor>
Use o atalho acima para uma maneira estranha de selecionar várias palavras. Você pode fazer seleções de palavras em lugares totalmente diferentes e excluir ou copiá-las todas de uma vez. Não tenho certeza se isso é útil. É o Xcode apenas até onde eu sei.
Esse truque funciona em todos os aplicativos Cocoa no Mac (TextEdit, Mail, etc.) e é possivelmente uma das coisas mais úteis a saber.
- Command ⌘ Left Arrowou Command ⌘ Right ArrowLeva você ao início e ao fim de uma linha.
- Control ^ ae Control ^ efaça a mesma coisa
- Control ^ ne Control ^ pMova o cursor para cima ou para baixo uma linha.
- Control ^ fe Control ^ bMova o cursor para trás ou para frente um espaço
Pressionar Shift ⇧com qualquer um deles seleciona o texto entre os pontos de movimento. Coloque o cursor no meio de uma linha e pressione Shift ⇧ Control ^ ee você pode selecionar até o final da linha.
Pressionar Option ⌥permitirá navegar pelas palavras com o teclado. Option ⌥ Control ^ fpula para o final da palavra atual. Option ⌥ Control ^ bpula para o início da palavra atual. Você também pode usar Option ⌥com as teclas de seta esquerda e direita para mover uma palavra de cada vez.
Experimente com NSMutableArray
. Você pode alterá-lo rapidamente, NSArray
colocando o cursor após o NS
, pressionando Shift ⇧ Control ^ Right Arrowentão Delete.
Command ⌘ Shift ⇧ D
Arquivo > Abrir rapidamente ...
Sou um grande fã do recurso Open Quickly , o que é particularmente bom no Xcode 3.1 e posterior. Quando você deseja abrir um arquivo ou uma definição de símbolo que esteja em seu projeto ou em uma estrutura, basta pressionar o atalho do teclado, digitar um pouco do nome do arquivo ou do símbolo, usar Up Arrow ↑e Down Arrow ↓escolher o resultado certo (se necessário), e pressione Return ↩para abrir o arquivo ou navegar até a definição do símbolo.
No Xcode 4:
- Command ⌘ Shift ⇧ o
Além disso, algo que eu não sabia sobre o Xcode até dois minutos atrás (quando schwa apontou em um comentário) é que, se o cursor de texto do editor estiver dentro de uma palavra quando invocar Open Quickly , essa palavra será usada como o Abra rapidamente o termo de pesquisa.
Você pode usar:
#pragma mark Foo
... como uma maneira de organizar métodos em seus arquivos de origem. Ao Foo
procurar símbolos pelo menu pop-up, o que você colocar aparecerá em negrito na lista.
Para exibir um separador (ou seja, linha horizontal), use:
#pragma mark -
É muito útil, especialmente para agrupar métodos delegados ou outros grupos de métodos.
# TODO
declarações. Agora, se ao menos ele também pegasse # XXX
, que é comumente usado na base de código em que trabalho ...
Você sempre deve ter um ponto de interrupçãoobjc_exception_throw
.
Use o seguinte código:
NSZombieEnabled = YES;
NSDeallocateZombies = NO;
... para depurar reter e liberar problemas. Para obter mais informações, consulte a seção "Localizando vazamentos de memória" do documento de aplicativos de depuração da Apple .
Command ⌘+ Double-click
em um objeto na Janela de Documento do Interface Builder para pular para essa classe no Xcode. Isso é muito útil com o Proprietário do arquivo .
Arraste um objeto personalizado de volta à Biblioteca do Interface Builder para reutilização posterior.
Control ⌃ Shift ⇧+ Click
em um objeto no Interface Builder para ver um menu de todos os objetos sob o mouse.
Ctrl+ 2: Acessa a lista pop-up de métodos e símbolos no arquivo atual.
Isso é super útil porque, com esse atalho, você pode navegar por um arquivo inteiramente usando o teclado. Quando você chegar à lista, comece a digitar caracteres e a lista será digitada no símbolo que você está procurando.
Se sua janela exibir os detalhes e a visualização do editor, você poderá ampliar o editor para expandir a visualização do editor até a altura total da janela. (Isso é facilmente encontrado, mas muitos parecem ignorá-lo.)
Você pode fazer isso usando um dos seguintes métodos:
Command ⌘ Shift ⇧ E
Exibir > Zoom Editor In
Arraste o divisor (entre a janela do editor e a lista de arquivos acima) para cima.
Obtenha a lista completa de atalhos do teclado Xcode de Colin Wheeler (disponível em PDF ou PNG). Imprima e mantenha em algum lugar visível (eu o coloquei na parede ao lado da minha tela).
Não é muito um atalho de teclado, mas os comentários do TODO na fonte aparecem no menu suspenso método / função na parte superior do editor.
Então, por exemplo:
// TODO: Some task that needs to be done.
aparece na lista suspensa de métodos e funções para que você possa pular diretamente para ele.
A maioria dos Java IDEs mostra um marcador para essas tags de tarefas na barra de rolagem, o que é melhor, mas isso também funciona.
# XXX
, e não as vê.
⌘- [e ⌘-] para recuar e desenterrar o texto selecionado. Faz a limpeza de código-fonte muito mais fácil.
Clique duas vezes nos colchetes ou parênteses para obter correspondência entre parênteses e parênteses.
Controle o editor de texto do Xcode na linha de comando: xed
> xed -x # open a new untitled document
> xed -xc foo.txt # create foo.txt and open it
> xed -l 2000 foo.txt # open foo.txt and go to line 2000
# set Xcode to be your EDITOR for command line tools
# e.g. for subversion commit
> echo 'export EDITOR="xed -wcx"' >> ~/.profile
> man xed # there's a man page, too
xed was introduced in Mac OS X 10.5 with Xcode 3.0.
"Ctrl + Seta para esquerda / direita" para fazer a navegação de texto entre palavras. Eu uso esse recurso para pular o cursor de um "camel hump" em uma variável para a próxima.
O Xcode suporta macros de texto que podem ser chamadas pelo menu Inserir macro de texto no final do menu Editar . Eles também podem ser chamados usando o Code Sense, a tecnologia de conclusão de código do Xcode.
Por exemplo, digitar a sequência de teclas p i m control-period
será inserido #import "file"
no seu código, com file
um token editável, como na conclusão do código.
Clique com o botão direito do mouse em uma variável em sua função e clique em editar tudo no escopo. Tenho usado muito desde que descobri isso.
ctrl ⌘ T
Você pode fazer com que o Xcode execute o pré-processador no seu arquivo Info.plist:
<key> CFBundleShortVersionString </key> #ifdef DEBUG <string> 1.0 (depuração) </string> #outro <string> 1.0 </string> #fim se
Consulte http://developer.apple.com/technotes/tn2007/tn2175.html para obter detalhes.
Depuração - como usar o GDB
Ainda novo nisso, acho que prender e identificar falhas é um trabalho bastante assustador. O console, apesar de ser uma ferramenta poderosa, geralmente não produz resultados muito intuitivos e saber o que você está vendo no depurador pode ser igualmente difícil de entender. Com a ajuda de alguns dos caras no Stack Overflow e o bom artigo sobre depuração que pode ser encontrado em Cocoa With Love, isso se torna um pouco mais amigável.
Navegue entre os arquivos abertos e para trás:
⌥⌘ ←
⌥⌘ →
Tecnicamente, uma dica do Interface Builder, mas eles são um par de livros, então eu não acho que isso esteja fora do assunto ...
Shift + Botão direito do mouse em um de seus controles e você obtém uma boa lista de seleção da hierarquia de objetos. Não há mais clique, clique, clique, frustração!
Com o Trackpad:
Testado com o Xcode 3.2.5.
O navegador da classe no Xcode! Atingido pressionando shift+ ⌘+c . Você pode reduzir o escopo para mostrar apenas seu projeto ativo. Ele oferece uma visão menos confusa, desde que você deseje navegar apenas na hierarquia de classes.
[
no local corretoEu venho de um plano de fundo .NET, então estou acostumado a digitar um símbolo e, em seguida, digitar um de seus nomes de métodos. Por isso, sempre esqueço de incluir o [
antes de começar a digitar o nome do objeto. Normalmente, isso significava que eu precisaria ir para o início da linha e adicionar [
manualmente. Eu não sabia que poderia simplesmente pressionar ]na posição atual do cursor, e ela será adicionada automaticamente.
Existem maneiras de usar isso: depois de digitar o nome da função ou antes de digitar o nome da função.
myObject testMethod
]
... torna-se:
[myObject testMethod]
... com o cursor posicionado após o ]
.
myObject
]
... torna-se:
[myObject ]
... com o cursor posicionado logo antes da ]
.
A vantagem do último (2) é que a conclusão do código será filtrada pelos métodos do seu objeto. Considerando que, com o primeiro (1), se você tentar invocar a conclusão do código imediatamente após myObject
, ele não será filtrado. Outra vantagem de (2) é que ele se comporta mais como outras linguagens de programação que usam notação de ponto. Você digita o nome do objeto e simplesmente em ]vez de .acessar um método.
Selecione um bloco de texto e digite cmd- / para comentar. Faça isso novamente para remover os caracteres dos comentários.
Isso é especialmente útil quando combinado à correspondência entre chaves, clicando duas vezes em caracteres balanceados (parens, chaves, colchetes).
Ser capaz de ver rapidamente todos os métodos que podem ser substituídos por uma super classe. Por exemplo, ao estender UITableViewController, basta digitar minha implementação:
- ta
e depois pressionei ESC para ver todos os métodos da minha superclasse que começam com "ta", como
- (UITableViewCell *) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
Isso também funciona ao adotar protocolos.
Command ⌘ alt ⌥ shift T : revela o arquivo editado atual na árvore do projeto.
ctrl+ alt+ ⌘+ rpara limpar o log
A documentação de referência da API da Apple não mostra métodos herdados de uma superclasse. Às vezes, porém. é útil poder ver toda a gama de funcionalidades disponíveis para uma classe - incluindo uma classe personalizada. Você pode usar o Navegador de Classes (no menu Projeto) para exibir uma lista plana ou hierárquica de todas as classes relacionadas a um projeto atual. O painel superior no lado direito da janela do navegador mostra uma lista de métodos associados ao objeto selecionado no navegador. Você pode usar a planilha Opções de configuração para selecionar "Mostrar membros herdados" para mostrar métodos herdados, bem como os definidos pela própria classe selecionada. Você clica no símbolo do livro pequeno para ir para a documentação correspondente.