Recursos ocultos do Xcode


338

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:


343

Alternar para arquivo de cabeçalho / fonte

  • Option ⌥ Command ⌘ Up Arrow ↑

  • Exibir > Alternar para arquivo de cabeçalho / fonte

Alterna entre os arquivos .me .h.

  • No Xcode 4, isso é ctrl Command ⌘ Up Arrow ↑

7
Este é absolutamente o meu favorito também. Eu o uso constantemente. Também funciona quando estamos falando de cpp e h. Não é só m! :)
pestófago 30/09/08

24
É chamado de "opção" no Mac, não "alt". E se você quiser símbolos extravagantes, ele pode ser escrito ⌥⌘ ↑
Brian Campbell

2
Melhor ainda, abra o cabeçalho, ⌘⌥⇡ para abrir o .m na mesma janela, depois ⌘⌥⇠ / ⇢ para alternar entre eles.
317 Peter Hosey

4
Observe que no Xcode 3.2, é necessário alterar as combinações de teclas para restaurar ⌘⌥⇠ / ⇢ no arquivo de troca. Eles mudaram o padrão para se mover entre as posições no mesmo arquivo.
Peter Hosey

71
Um toque de três dedos para cima no touchpad é outro atalho para a mesma ação.
Nathan

158

⌘ 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.)

Barra Favoritos:

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

11
Suspiro! Show Favorites Bar, onde você esteve toda a minha vida!
willc2

@ Mr.Gando - Você pode arrastar e soltar arquivos na barra de favoritos (e fora dela).
James Sun

4
A barra de favoritos foi "substituída" no Xcode 4 por guias persistentes.
Ascendente

127

Atalhos de teclado de preenchimento automático

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.


Obrigado pelo Control- /, eu sempre estava pensando em como pular para o próximo argumento #
9111 Mc McDain

Caramba, eu também. Até agora, esse era o "recurso" mais irritante do Xcode. Obrigado!
23410 pix0r

Sim, obrigado por apontar isso ... não saber / Ctrl- estava me matando
Andy White

Shift-Ctrl- / avança para o argumento anterior.
Clinton Blackmore

18
Observe que o novo XCode usa Tab para mover-se entre argumentos em conclusões. É mais fluido.
Jab

119

Desative o aviso "desfazer o último ponto"

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

Alterar o nome da empresa nos arquivos de modelo

Cole isso no aplicativo Terminal:

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

Altere " com.yourcompanyname" em todos os seus modelos:

  1. Encontre o diretório: /Developer/Platforms/iPhoneOS.platform/Developer/Library/Xcode/Project Templates/Application
  2. Use sua ferramenta de pesquisa e substituição de vários arquivos favorita para mudar com.yourcompanypara 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.plistarquivos. Encontrei 8 arquivos para alterar. O número de vezes que uma compilação falhou porque eu esqueci de alterar essa string é ridículo.

Salte rapidamente para um grupo no painel Grupos e Arquivos

  • 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).


Alternando entre opções de preenchimento automático

  • 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 logem seguida, Control ⌃. e você vai ter uma boa NSLognota. Pressione novamente para alternar entre as opções. Para ver todas as opções mutáveis, digite NSMuentão Control ⌃..


Ajuda Rápida

  • 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.


Consulte a documentação para um símbolo

  • Command ⌘ Option ⌥ + <Clique duas vezes em um símbolo>

Leva você direto à documentação completa.


Faça seleções de texto não adjacentes

  • 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.


Use as ligações de teclas do Emacs para navegar pelo seu código

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.

  • Control ^ Left Arrowe Control ^ Right Arrowmove o cursor entre partes de uma palavra com camelo.

Experimente com NSMutableArray. Você pode alterá-lo rapidamente, NSArraycolocando o cursor após o NS, pressionando Shift ⇧ Control ^ Right Arrowentão Delete.


Obrigado, odeio a mensagem "Você tem certeza ...". Por que está lá mesmo?
Ruipacheco 22/10/09

4
Control-Command-Double-Click é apenas necessário porque o Xcode usa Command-Double-Click para outra coisa que não seja uma seleção de palavras descontínuas. Na maioria dos aplicativos de cacau, você pode fazer uma seleção descontínua apenas com o modificador de comando.
Nicholas Riley #

Sobre o nome da empresa do modelo: O XCode retira isso do seu cartão de endereço do AddressBook; portanto, se você o alterar, o XCode o usará.
dertoni

Você também pode alterar o nome da empresa, definindo uma para você no cartão do Catálogo de endereços.
macserv

99

Abrir rapidamente ...

  • 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

Abrir Utiliza rapidamente a palavra atual como um termo de pesquisa

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.


Yeah Open Quickly funciona muito bem agora. Além disso, você pode simplesmente colocar o cursor de texto no arquivo de uma # # linha de importação / # e abrir esse arquivo rapidamente.
schwa

o que são esses "texto de intercalação" vocês estão falando?
IvanTheTerrible

9
No Mac, um "cursor" indica a posição do mouse; a barra vertical intermitente é o "ponto de inserção".
Nicholas Riley #

11
@Nicholas Riley: Caret é a palavra certa, AFAIK - nossos desenvolvedores Mac chamado sempre que quando eu trabalhava em uma empresa de software
Polsonby

3
@Flubba: O Caret certamente é usado para isso, não discuto nada; não é apenas o termo comum do usuário ou do desenvolvedor em Macs. Se você pesquisar no Google por "site de intercalação: developer.apple.com", encontrará apenas resultados na documentação TrueType e em um único documento do iPad, escrito recentemente.
Nicholas Riley

78

Use #pragma para organização

Você pode usar:

#pragma mark Foo

... como uma maneira de organizar métodos em seus arquivos de origem. Ao Fooprocurar 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.


9
digitar # p normalmente acionará a conclusão do código '#pragma mark <LABEL>' para adicionar rapidamente a parte do rótulo.
willc2

11
Ele também pega # TODOdeclarações. Agora, se ao menos ele também pegasse # XXX, que é comumente usado na base de código em que trabalho ...
asmeurer

7
O Xcode 4 também suporta "#pragma mark - Foo", que adiciona a marca AND um separador ao mesmo tempo.
typeoneerror

77

1. Ponto de interrupção em "objc_exception_throw"

Você sempre deve ter um ponto de interrupçãoobjc_exception_throw .

2. Depurar problemas de retenção / lançamento com variáveis ​​"Zombie"

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 .

3. Saltando para uma classe no Xcode a partir do Interface Builder

Command ⌘+ Double-clickem 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 .

4. Reutilizando Objetos Customizados no Interface Builder

Arraste um objeto personalizado de volta à Biblioteca do Interface Builder para reutilização posterior.

5. Selecione itens sobrepostos no Interface Builder

Control ⌃ Shift ⇧+ Clickem um objeto no Interface Builder para ver um menu de todos os objetos sob o mouse.

6. Guia de gestos do Interface Builder

Guia de gestos do Interface Builder .


3
Ótima resposta! Eu daria dois votos positivos para (3) e (4) que eu não conhecia antes.
Nikolai Ruhe

75

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.


19
Eu uso espaços (CTRL-2 vai para o espaço # 2), então remapeei a ligação de chave. Pode ser encontrado em "Vinculações de teclas de texto" no item "Pop Symbols PopUp".
bbrown

11
Boa dica. Me fez descobrir que o Control-1 exibirá a lista do histórico de arquivos.
Tmadsen

2
No XCode5, é CTRL + 6, eu acredito
correu

11
Existe uma combinação de teclas para isso no XCode 4? Estou usando o Spaces, então gostaria de refazer isso, mas não consigo encontrá-lo.
Geoffrey Wiseman

5
No XCode4 é ^ 6. Chama-se Mostrar itens do documento.
WBlasko

74

Zoom Editor In

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.


18
Levei AGES para descobrir como esconder a árvore também - Command-Option-Shift-E. Ah, doce alívio. Sou eternamente grato ao grupo MacMacDev Glasgow por me informar isso.
31410 John Gallagher


52

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.


13
Funciona para // FIXME: também.
ustun 3/10/09

4
Eu apenas tentei // MARK: e tem exatamente o mesmo efeito que a marca #pragma. Você pode até usar // MARK: com um traço para obter o separador.
Rose Perrone

11
Eu gostaria que você pudesse adicionar marcadores à lista de itens capturados. A base de código em que trabalho tem muitas # XXX, e não as vê.
asmeurer

@Gonzalo Larralde What? Não quero escrever // TODO, quero ver todos os comentários do TODO na barra suspensa. #failatfailing
ingh.am

5
No Xcode 3 TODO, os comentários podem ser colocados em qualquer lugar do código e aparecerão na janela pop-up da função. Por alguma razão, no Xcode 4 TODO, os comentários devem estar fora de qualquer corpo de função / método para aparecer. É um bug.
SteveCaine

51

⌘- [e ⌘-] para recuar e desenterrar o texto selecionado. Faz a limpeza de código-fonte muito mais fácil.


Se você recortar o texto e colá-lo novamente, ele será reintegrado corretamente. :)
Neo42 17/09/09

14
Ou apenas selecione-o e pressione Control-I (como tab, mas não realmente).
Nicholas Riley #

Isso é uma mudança de controle i? ou um controle l (l é minúsculo)?
VxJasonxV

43

Mantenha a tecla Option pressionada enquanto divide as janelas para dividir verticalmente, e não horizontalmente.


4
Muito bom em um monitor de 30 ". Obrigado!
Rob

42

Clique duas vezes nos colchetes ou parênteses para obter correspondência entre parênteses e parênteses.


36

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

Isso é específico para determinadas versões do Xcode? não fixa não parecem existir para mim (SnowLeopard, recente Xcode / iOS SDK)
ipmcc

Na página de manual:xed was introduced in Mac OS X 10.5 with Xcode 3.0.
Steven Fisher

31

"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.


10
É ótimo, desde que você tenha o Spaces desativado: \
jbrennan

Tente também as opções Option-f, Option-b, Option-d etc. Essas são todas as combinações de teclas no estilo emacs.
ustun 14/10/09

2
@jbrennan Tenho Espaços atribuídos a ⌃ + ⌥ + ⇧ + ⌘ Editar: para definir Espaços como ⌃ + ⌥ + ⇧ + ⌘, selecione o pop-up "Para alternar entre espaços:" e "Para alternar diretamente para um espaço:" mantenha pressionadas as teclas Control, Option, Shift e Command.
Jrtc27

Estive procurando isso por um tempo. Obrigado Matt, e obrigado jtc27 pela dica do Spaces!
Reed Olsen

@ustun: Option-f para mim digita ƒ.
asmeurer

30

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-periodserá inserido #import "file"no seu código, com fileum token editável, como na conclusão do código.


30

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


Muito útil, não fazia ideia de que estava lá. Vale a pena explorar esse menu contextual.
Ruipacheco 22/10/09

7
Você pode acessar isso usando Ctrl-Command-T quando estiver sobre a palavra que deseja editar. Muito mais rápido que um menu desagradável!
John Gallagher

É chamado Ctrl + clique no Mac.

3
O atalho padrão foi alterado para Ctrl + Command + E no Xcode 4 e pode ser alterado nas preferências de atalhos de teclas.
Dov

28

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.


16
Observe que, se você fizer isso, seu Info.plist sempre precisará ser editado como texto; você não poderá editá-lo no bom editor de lista de propriedades que o mantém usando chaves e tipos de valor corretos.
Chris Hanson

27

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.


26

Navegue entre os arquivos abertos e para trás:
⌥⌘ ←
⌥⌘ →


5
A chave é "opção" (⌥) no Mac, não "alt".
Chris Hanson

7
O teclado branco da Apple realmente tem alt escrito na tecla de opção.
31420 Chris Lundie

19
Chris, o rótulo 'alt' é para comutadores. Os caras do Mac da velha escola o conhecem como opção. Como Deus pretendia.
willc2

11
Se você é fã de gestos do trackpad, também pode usar um toque de três dedos para a esquerda e direita para obter o mesmo efeito.
Reed Olsen

25

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!


22

Com o Trackpad:

  • Deslize três dedos para cima - Alterne entre o cabeçalho e o arquivo de origem, mais fácil do que Cmd+ Opt+ Up;
  • Deslize três dedos para baixo - Alterne entre declaração e definição ao selecionar uma classe ou método, encontrado atualmente esses dois tipos;
  • Deslize três dedos para a esquerda - Voltar ( Cmd+ Opt+ Left);
  • Deslize três dedos para a direita - Avance ( Cmd+ Opt+ Right);

Testado com o Xcode 3.2.5.


21

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.


Uau! Não conhecia este ... isso pode se tornar minha janela principal "funcionando". Quase parece VisualAge (as partes boas): D
rcw3

AAARRGGHH Como um fã antigo do ObjectMaster, eu estava feliz lendo sobre isso até perceber que ele foi removido no XCode4, e não consigo acreditar em que passo gigante é esse IDE para trás. Aposto que há uma tonelada de pessoas dentro da Apple ainda usando o Xcode 3. #
Andy Dent

19

Usando ]para inserir automaticamente [no local correto

Eu 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.

Método 1: após o nome da função

myObject testMethod]

... torna-se:

[myObject testMethod]

... com o cursor posicionado após o ].

Método 2: antes do nome da funçã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.


17

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).


O comentário do Xcode / comentário foi irremediavelmente quebrado na última vez que verifiquei. É uma vergonha.
21811 Joe

16

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.


14

Command ⌘ alt ⌥ shift T : revela o arquivo editado atual na árvore do projeto.


dica fantástica, obrigado. Isso é muito útil ao trabalhar com o código de outra pessoa, como quando você é chamado para trabalhar em um projeto depois que ele está em desenvolvimento há algum tempo.
Aran Mulholland


13

Use o navegador de classe para mostrar métodos herdados

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.