Recursos ocultos do Xcode 4

109

Agora que o Xcode 4 foi lançado oficialmente, é hora de responder à minha pergunta anterior: Recursos ocultos do Xcode

Então, quais são eles? Quais são aquelas pequenas dicas e sugestões ocultas do Xcode 4 que você não consegue viver sem?

Limite suas dicas àquelas que são novas e específicas do Xcode 4!

Jeff Atwood
fonte

Respostas:

42

Se você gosta que seu código tenha uma aparência tão boa quanto é executado, sem dúvida você o usou #pragma mark - e #pragma mark <name>forneceu um bom agrupamento visual na lista suspensa de classes Xcode. O Xcode 4 agora os combina em um único#pragma mark - <name> .

Mais sobre a marca do pragma .

Marca de pragma Xcode

resposta
fonte
2
A // MARK: -versão (um pouco mais portátil) também está funcionando?
Nikolai Ruhe
1
sim, ambos estão bem: // MARK: - <nome> ou // MARK: <nome> -
nschmidt
35
  • shift- cmd- optclicar em um símbolo permite que você diga ao Xcode exatamente onde você deseja que o arquivo navegado abra na IU.

  • cmd- retfaz com que o editor / assistente de versão (o painel direito) vá embora

  • shift- cmd- Ypara ocultar o depurador

  • cmd- 0para ocultar o navegador (painel esquerdo)

  • cmd- [1..n]alternar entre navegadores à esquerda

  • cmd- opt- [1..n]alternar entre utilitários (coisa geralmente à direita)

  • ctrl- [1..n]alternar entre vários arquivos relacionados no editor

No geral, o Xcode 4 tenta manter as coisas consistentes com as teclas de atalho. Cmd é para comandos de linha principal. Adicionar modificadores é para comandos análogos focados em um sub-recurso específico.

(Esses são apenas os quatro que vêm à mente como os meus atalhos mais batidos que estou usando constantemente! Tenho certeza de que isso vai mudar com o tempo, conforme meu fluxo de trabalho for refatorado para o novo hotness.)

bbum
fonte
8
shift-cmd-opt-click ... Atenção. Queimado. Obrigado.
Danilo Campos
1
Oooh ... obrigado por editar isso, Dave. Não sabia sobre <kbd> ... </kbd>.
bbum
10
O ⇧⌘⌥-click é uma fusão de dois atalhos: ⌘-click em qualquer símbolo para abrir o arquivo que o declara e ⇧⌥ para abrir o pop-over onde abri-lo. Você pode usar o último aumento de combinação de teclas em algumas outras coisas, conforme descrevi em uma de minhas respostas.
Peter Hosey
3
Além disso, para aqueles que, como eu, usaram os atalhos ⌘- [1-6] do Interface Builder para os diferentes Inspetores, eles se tornaram os ⌘⌥- [1-7] que você mencionou ao editar uma ponta.
Peter Hosey
Existe uma maneira de usar ⇧⌘⌥-click sem realmente usar um mouse, mas sim o teclado (e quando o cursor estiver em um símbolo que você deseja abrir)? ⌘⌥-, abre um novo editor adjacente, mas AFAICS apenas o arquivo atual é considerado.
Piotr Byzia
18

O Xcode 4 adiciona um novo recurso de "trechos de código", acessível em Exibir> Utilitários> Biblioteca de trechos de código. Para adicionar um novo snippet de código, selecione algum texto na visualização do editor e arraste-o para a biblioteca de snippet. Você pode arrastar um snippet para fora e soltá-lo no código para usá-lo ou, de maneira muito mais conveniente, atribuir um atalho de conclusão a ele.

Quando você digita essa série de letras, ela aparece automaticamente no menu pop-up de autocompletar de código conforme você digita o código. Por exemplo, entre muitos outros, tenho um snippet configurado para que a digitação de "svk" seja expandida para setValue:<#value#> forKey:<#key#>. Isso pode economizar muita digitação e / ou pescar no menu de preenchimento automático para os métodos e outras expressões de código que você mais usa. O Xcode vem com um monte de snippets integrados que também são muito úteis.

Brian Webster
fonte
15

Novo atalho que uso com mais frequência: deslizar com três dedos (para cima ou para baixo) para trocar as contrapartes (entre a interface e os arquivos de implementação). Chega de acrobacias manuais!

Agradecimentos a https://twitter.com/xctotd/status/48148271759241216

wdn
fonte
1
@Dave DeLong, como você pode fazer isso no teclado? Eu estava fazendo opção-comando para ir da interface à implementação no XCode 3. Isso não funciona mais no 4. Qual é a nova maneira?
Dan Rosenstark
5
@yar control-cmd-up / down arrow
Dave DeLong
Obrigado como sempre, @Dave DeLong.
Dan Rosenstark
Este ainda é o caso no Lion? Ao deslizar o dedo verticalmente com 3 dedos no trackpad, basta ativar o Controle da Missão. Presumo que estejamos falando sobre como deslizar no trackpad e não sobre o mouse mágico.
DonnaLea
Não parece haver uma solução simples atualmente, mesmo se você alternar o controle da missão para um toque de 4 dedos. Veja este tópico: stackoverflow.com/questions/6771057/…
wdn
13

shift- option-clique em um arquivo noLista de grupos e arquivosProject Navigator, ou segure shift- optionenquanto escolhe um arquivo da barra de salto.

Você verá um pop-over para escolher onde abrir o arquivo. Guia nova ou existente, editor de divisão (Assistente) novo ou existente, nova janela - todas as opções possíveis estão lá.

Peter Hosey
fonte
4
Obrigado por apontar isso. Muito útil. Ele também funciona no arquivo selecionado na caixa de diálogo 'Abrir rapidamente' (⇧⌘O).
Cris
2
Eu amo como muito trabalho é gasto em um pequeno widget de IU que a maioria das pessoas nunca verá. :)
Simon Whitaker
13

As guias no Xcode 4 são incríveis. Cada um mantém seu próprio layout separado, então você pode ter várias guias com coisas diferentes nelas e ter cada uma disposta apropriadamente.

Estou configurando meus projetos com três layouts - um para o objeto do projeto, um para cada ponta (mostrando as fontes da classe do proprietário) e um para cada classe .

Há um bug aqui: a partir do 4.0, o Xcode irá redefinir o estado (desligando quaisquer Assistentes) da guia ativa quando você reabrir o projeto. A solução alternativa é alternar para uma guia sem Assistants for Xcode para fechar antes de fechar o projeto. Arquivei isso como Radar número 9178441.

Peter Hosey
fonte
10
  • ctrl-6 abre o segmento dentro do arquivo da barra de salto (permite métodos de salto controlados pelo teclado)

  • cmd- {/} selecionar a guia anterior / seguinte

  • cmd- Jnavegue para qualquer editor (mas por que, oh, por que TAB não alterna entre eles?)

Cris
fonte
1
Além disso, observe que os atalhos do teclado são configuráveis. Mudei a guia anterior / seguinte para ⌘⌥⇠ / ⇢ para corresponder ao Chrome.
Peter Hosey
7

Atalhos do Editor

  • Cmd + Ctrl + up/downSalta entre arquivos .h e .m.
  • Cmd+ Ctrl+Left/Right Saltar entre arquivos editados anteriores / arquivos editados em seguida.

Atalhos de layout

  • Cmd + 0 ocultar ou mostrar navegadores
  • Cmd + opt + 0 ocultar ou mostrar inspetores
  • Cmd+ Shift+ Yocultar ou mostrar o console do depurador.

Atalhos de Navegadores

  • Cmd + 1 Projeto
  • Cmd + 2 Símbolo
  • Cmd + 3 Pesquisa
  • Cmd + 4 Problema
  • Cmd + 5 Depurar
  • Cmd + 6 BreakPoint
  • Cmd+ 7 Log

Alternância e salto de guias

  • Cmd + { Aba Anterior
  • Cmd + } Próxima guia
  • Cmd + j Selecione o local para pular
  • Shift+ Option+ClickFile Selecione o local para abrir o arquivo
  • Cmd+ Alt+ Option+ ClickSelecione o local para abrir o Método

Inspetores

  • Cmd+ Opt+1 Inspetor de arquivos
  • Cmd+ Opt+2 Ajuda Rápida
  • Cmd+ Opt+ 3Inspetor de identidade
  • Cmd+ Opt+ 4Inspetor de Atributo
  • Cmd+ Opt+ 5 Inspetor de tamanho
  • Cmd+ Opt+ 6 Inspetor de conexão

Relacionado à construção

  • Cmd+ B Construir
  • Cmd+ Shift+ K Limpar
  • Cmd+ . top

Dobramento de código

  • Cmd+ Alt+ LeftMinimize Método / Classe / Interface Atual
  • Cmd+ Alt+ Right Expandir Método / Classe / Interface Atual
  • Cmd+ Alt+ Shift+ LeftMinimize All Method / Class / Interface
  • Cmd+ Alt+ Shift+ RightExpandir todo o método / classe / interface
Spark
fonte
esses não são recursos ocultos
Todd Hopkinson
@icnivad - muitos recursos ocultos podem ser acessados ​​por meio de atalhos, como pular arquivos, alternar entre guias etc.
Sagar R. Kothari
6

Aqui está o primeiro. Abas! O Xcode 4 substituiu a útil, mas raramente usada "barra de favoritos" do Xcode 3 por guias persistentes . Isso significa que você pode manter um conjunto de documentos usados ​​com frequência na barra de guias.

Não é exatamente um recurso oculto como tal - mas o fato de as guias serem persistentes talvez seja facilmente esquecido.

Schwa
fonte
2
Além disso, você pode atribuir nomes personalizados às guias, algo que eu não sabia até que Scott Stevenson mencionou: twitter.com/scottstevenson/status/50270610038865921
Brad Larson
5
Sim, você pode clicar duas vezes nas guias no Xcode 4 para renomeá-las e, em seguida, usar as guias nomeadas em Prefs> Behaviors (via @scottstevenson)
cocoapriest
3
Oh, isso é muito útil. Portanto, posso configurar uma guia do depurador / console mostrando apenas esses itens e, em seguida, exibi-los durante a execução. Isso é muito melhor do que vê-lo aparecendo e baixando o tempo todo.
Danilo Campos
6

Se você está tendo algum tipo de problema com a indexação do seu projeto (por exemplo, símbolos que não aparecem no preenchimento automático), abra a janela do Organizer, clique na guia Projetos e use o botão "Excluir" para excluir os dados derivados do seu projeto . Isso forçará uma reconstrução do índice do projeto, bem como descartar todos os produtos construídos.

Brian Webster
fonte
6

Algumas teclas de atalho úteis para trabalhar em telas menores são:

  • cmd- shift- y- Ocultar e mostrar a área do console / depuração

  • cmd- 0- Ocultar e mostrar a navegação do arquivo

aitskovi
fonte
6

Agora você pode associar grupos no Project Navigator com pastas no disco. Sempre me incomodou antes que a visualização do arquivo Xcode 3 pode não representar a estrutura real do projeto no disco.

Crie um novo grupo e, com o novo grupo destacado, abra o Inspetor de Arquivos. Na seção de identidade à direita, logo abaixo do 'Caminho', há um pequeno ícone, clique aqui para abrir a caixa de diálogo do navegador de arquivos, permitindo que você selecione o diretório para este grupo.

Inspetor de arquivo

Patrick
fonte
6
O que há de novo aqui? Você sempre pode vincular grupos a diretórios (Xcode 3: Command-I no grupo)
Nikolai Ruhe
5

Se você segurar a tecla FN, poderá digitalizar seu documento com as teclas de cursor, sem movê-lo

Sapo
fonte
5

Barra de salto:

se você escrever fora da função:

// FIXME: A Bug
// TODO: Later
// ???: ???
// !!!: !!!
// MARK: This a mark

Irá gostar:

Além disso, você pode pesquisar:

Clique com Option(com Shiftao mesmo tempo, você pode escolher outra janela), você verá uma caixa de diálogo que permite especificar onde o arquivo deve ser aberto:

Fonte de controle:

Se você usar svn ou git, descartar a alteração é fácil:

Buidler de interface

No xcode 4.2, você pode pular para o construtor de interface aqui:

Clique em um objeto IU com Shift, ele mostrará uma lista de todos os objetos sob o ponto.

Tente isto: selecione um objeto IU, segure Optione mova o mouse sobre outros objetos. Vai gostar de:

De outros

Atalho: Shift+Command+O abrir rapidamente

Experimentar:

#error message
#warning message

E leia: Escrevendo e editando o código-fonte

BB9z
fonte
4

Editor de Texto :

  • Clicar com o botão cmd em um nome de classe o levará para o arquivo de implementação (ou cabeçalho) dessa classe, clicar em um objeto com cmd o levará para onde o objeto está declarado.
  • Clicar com a tecla Alt irá abrir um pop-up de documentação para o objeto que você clicou.

Adicionando frameworks : Você não pode simplesmente fazer isso clicando com o botão direito no projeto ou um grupo (como no Xcode 3). Você precisa ir para a visualização do projeto, selecionar seu destino e ir para a guia "Fases de construção". Os frameworks podem ser gerenciados na seção "Vincular binários às bibliotecas".

Definir dependências de destino : Semelhante ao anterior, na seção "Dependências de destino" da guia "Fases de construção".

Mantenha seus arquivos seguros antes de instalar o Xcode 4 (de 3). Você os perderá (provavelmente) e com eles perderá sua capacidade de simbolizar seus logs de travamento.

Ação de exclusão - CUIDADO : "Excluir" (em vez de "Remover somente referência") apaga diretamente o arquivo de sua unidade. Ele não vai para a lixeira, então você não pode recuperá-lo.

Nick Toumpelis
fonte
1
DELETE é horrível. Não consigo recuperá-lo do TRASH :(
Sagar R. Kothari
4

cmd- vai Jpara o editor, mas se você tiver mais de um editor aberto, obterá uma sobreposição que contém todos os editores abertos. você pode usar cmd- e cmd- para alternar entre os editores abertos.

Além disso, se você está tendo dificuldade em encontrar uma opção ou propriedade para qualquer coisa, a janela de utilitários é provavelmente sua melhor aposta:

hide and show utilities: cmd- opt-0

Coisas que são comumente escondidas aqui que não são intuitivas:

  • propriedades da entidade do modelo de dados.
  • propriedades do modelo de dados
  • propriedades xib
Jon
fonte
4
  • Você não precisa declarar métodos IBAction no arquivo .h. & Você pode conectá-lo diretamente no Interface Builder.

Exemplo:

-(IBAction)btnLogInTapped:(id)sender {
    // place following method in .m file of your code. save file. Open the
    // .xib file of viewController
    // click on files owner
    // click on connection-inspector.
    // you can view your methods under "received actions"
}
  • Você não precisa declarar variáveis , se estiver criando propriedades para elas.

Exemplo:

// a property declared in .h File of your view controller.
@property (nonatomic, retain) LogInVCtr *nxtLogInVCtr;

// synthesize above property in .m File
@synthesize nxtLogInVCtr;
// or
@synthesize nxtLogInVCtr = _nxtLogInVCtr;
// and you are done, you don't need to declare variable for it.
Sagar R. Kothari
fonte
3

Um dos meus favoritos é a preferência de comportamento "Abrir guia". Se você acessar "Comportamentos" em Preferências, poderá configurá-lo para ir para uma guia específica sempre que uma execução for iniciada. Você pode nomear a guia, algo como "Debug" e o Xcode4 irá criá-la para você se ela não existir e levá-lo até lá quando você iniciar a depuração. Você pode configurar esta guia do jeito que quiser para sessões de depuração, e ela permanecerá assim depois de fechá-la, então sempre que você fizer uma execução, o Xcode4 será configurado exatamente como você deseja, em uma guia separada. Você pode até mesmo abrir essa guia em uma janela separada, caso em que o Xcode4 abrirá uma nova janela "Depurar" especialmente configurada toda vez que você iniciar uma execução! Esse recurso é excelente porque mantém sua guia ou janela normal de edição de código organizada com os painéis de registro e depurador. Basta fechar o "

Michael Gorbach
fonte
Brilhante! Isso tem me incomodado há muito tempo.
Imron
2

No XCode3, havia uma opção para "Renomear o Projeto". Agora, você só precisa clicar duas vezes (segundo clique lentamente) para renomear o projeto e está feito.

Sagar R. Kothari
fonte
2

Para limitar o número de operações de build simultâneas

Esta é uma preferência (um tanto) oculta que permite definir o número de tarefas de compilação simultâneas:

defaults write com.apple.dt.Xcode IDEBuildOperationMaxNumberOfConcurrentCompileTasks 4

Para desativar a indexação no IDE

Este desativa a indexação de detecção de código, o que pode economizar muitos recursos em grandes projetos:

defaults write com.apple.dt.XCode IDEIndexDisable 1

para reativar:

defaults delete com.apple.dt.XCode IDEIndexDisable

Observe que você deve sair do Xcode, definir os valores de preferência conforme desejado, as alterações terão efeito quando você reiniciar o Xcode.

justin
fonte
1

Se você preferir usar vim / emacs rodando em, digamos, Terminal, ou qualquer outro editor externo, você pode simplesmente criar seu projeto xcode, adicionar arquivos e outros enfeites e então mudar para a edição de ditos arquivos usando a edição que melhor lhe convier; sempre que você mudar o foco para uma janela do xcode4, os arquivos modificados serão recarregados (também foi o caso com o Xcode3) e você pode construir / executar seu aplicativo.

markpapadakis
fonte
1

Dois tipos de especificação de localização de construção usando Preferências XCode4.

  1. Local especificado por destinos - o diretório 'Build' está localizado no diretório do projeto.
  2. Localização em Dados Derivados (Recomendado pelo XCode, como você pode ver na captura de tela) - O diretório 'Build' está localizado sob a localização de DerivedData especificada (por exemplo, aqui no meu caso /Users/digicorp/Library/Developer/XCode/DerivedData)

Por favor, olhe as seguintes capturas de tela.

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Sagar R. Kothari
fonte
0

AJUDA RÁPIDA

Ctrl+ Option/ Alt+f

Encontre a ajuda rápida. Por exemplo,

@property (nonatomic, retain) NSString *strQuery;

Meu cursor de texto está em NSString& se eu pressionar Ctrl+ Option+f , ele mostrará uma documentação rápida no inspetor / utilitários.

Spark
fonte