Como posso fazer as guias funcionarem normalmente no Xcode 4?

86

O Xcode finalmente adicionou abas, mas o problema é que elas se comportam de maneira muito estranha. Por exemplo, eles manterão uma guia aberta somente se ela for aberta em uma nova guia.

Se você abrir um arquivo apenas clicando na árvore do projeto, o Xcode fechará sua aba assim que você clicar em outro arquivo na árvore.

É possível fazer com que elas se comportem como guias reais e evitar que o Xcode as reutilize? Quão?

Sorin
fonte
17
Eu também acho que a navegação do XCode é excêntrica e esquisita. Abas, mas também cada aba tem um histórico, mas o histórico não é apenas de arquivos, são pontos dentro de arquivos ... Andar com o teclado é simplesmente ótimo. "Funciona como no Safari" não significa que seja bom ...
david van brink
1
@davidvanbrink Eu não obtê-lo, como é a interface do Xcode em tudo como o filme ?
bobobobo
1
Acredito que j03m respondeu corretamente à sua pergunta
Błażej

Respostas:

69

ATUALIZAÇÃO para 2020:

Finalmente, quase 10 anos depois, o Xcode 12 beta 3 agora parece resolver principalmente o problema descrito aqui. Há uma nova opção de Estilo de navegação no painel de configurações de navegação que controla esse comportamento.

Claro, isso pode mudar em betas subsequentes ou na versão final do Xcode 12.

O comportamento tem algumas peculiaridades / escolhas de design que parecem fazer sentido, mas ainda estou me acostumando com a nova experiência. Por exemplo, uma guia será reutilizada, a menos que o arquivo dessa guia tenha sido editado recentemente; tal guia é indicada com um título em itálico .


RESPOSTA ANTERIOR

Não acho que você possa obter atualmente o comportamento que deseja (ou desejo). Embora as guias funcionem como o Safari, elas não funcionam como guias em outros IDEs populares (Visual Studio ou Eclipse). E para mim isso é meio ruim.

Em geral, espero que as guias IDE mantenham mais de 1 arquivo aberto. Portanto, se eu clicar em um arquivo na árvore do projeto, espero que ele alterne para a guia que abri com esse arquivo - se já a abri. Em vez disso, o XCode 4 altera a guia atual para o arquivo que eu cliquei - criando 2 guias com o mesmo arquivo. Ter 2 guias com o mesmo arquivo é bastante inútil.

Isso força o usuário a examinar a barra de guias primeiro para ver se o arquivo está aberto no momento; se não estiver aberto, você pode olhar para a árvore do projeto. Mas se você clicar na árvore do projeto primeiro (que é o que eu costumo fazer), você será punido porque terá acabado de matar uma guia.

Daniel
fonte
1
Envie um relatório de bug! O nome da guia deve ser igual ao arquivo atual nessa guia (!)
mda
13
O XCode 6 ainda não lida com guias como esperado :(
Ivan Marinov
1
Parece corrigido no XCode 7! Eu o tenho configurado para que o clique duplo abra em uma nova guia e, se o arquivo já estiver aberto, ele leva você para essa guia em vez de para uma nova.
chiliNUT
1
chiliNUT. Como você definiu sua configuração para esse comportamento? Quando eu clico duas vezes, ele abre o arquivo em uma nova guia, mesmo se eu já tiver o arquivo aberto em uma guia existente.
andynil
O XCode 10 ainda não lida com guias como esperado :(
pingu
90

Eu uso um método semelhante ao Franks:

  • Em Preferências> Navegação (ou Preferências> Geral nas versões do XCode anteriores a 5), ​​você pode definir a Navegação opcional para usar uma guia separada
  • Agora opt -click em um arquivo no navegador de arquivos irá abri-lo em uma nova aba
  • Melhor ainda, opt -clicking ligações no código abre o arquivo de destino em uma nova aba

O grande recurso que falta é trocar para uma aba já aberta contendo o arquivo se houver uma (ou permanecer na atual).

drömsynt
fonte
Incrível, essa resposta me salvou, e você também pode definir como Clique duas vezes para abrir uma nova guia
melanke
8
Está na guia Navegação em Preferências (pode ser uma alteração no Xcode 5). Preferências -> Navegação -> Navegação opcional -> Usa guia
separada
Isso é exatamente o que eu estava procurando! Eu sempre usei IDEs como VS ou PHPStorm, que usavam guias e isso realmente me salvou
difícil de
3
O grande recurso que falta é trocar para uma guia já aberta contendo o arquivo, se houver uma (ou permanecer na atual). Desejo que isto seja adicionado
MistyD
3
Ainda assim, não gosto do fato de poder obter duas guias com o arquivo sime aberto. Não gosto nem um pouco do sistema de guias de espaço de trabalho no Xcode ...
Nuno Gonçalves
24

Esta não é realmente uma resposta na medida em que contém uma solução; Principalmente, eu só quero me juntar às reclamações. Mas votar a favor vai fazer você se sentir melhor e provar que a Apple está errada. :)

O problema com a implementação de guias do Xcode 4 é que a Apple as implementou como guias de espaço de trabalho . Em outras palavras, a criação de uma nova guia cria essencialmente um novo espaço de trabalho, cada um com seus próprios subpainéis com suas configurações, etc. É essencialmente um ambiente completo em cada guia. Existem vários problemas com esta escolha.

Isso difere da implementação da maioria dos editores de texto / IDE de guias de arquivo, em que uma guia (geralmente) representa um único arquivo, e cada arquivo tem sua própria guia.

O problema com as guias do espaço de trabalho é que há tantos espaços de trabalho diferentes potenciais dos quais poderíamos nos beneficiar, limitando severamente o uso real de guias dessa forma. Além disso, os espaços de trabalho adicionais tornam-se apenas uma responsabilidade, introduzindo mais coisas que o usuário do aplicativo precisa se preocupar: por exemplo, o que é a visualização do navegador, qual modo de editor está ativo (padrão, assistente, versão), se o console de depuração está aberto, etc. etc. Mudar repentinamente para uma nova guia significa que você agora precisa se preocupar em colocar o ambiente de volta na forma que você precisa, porque há uma boa chance de a outra guia não ter sido deixada no estado em que você espere encontrá-lo. Na verdade, isso desencoraja o uso de guias porque apresenta mais trabalho no fluxo de trabalho.

As guias de arquivo não têm esse problema (sem contar os casos especiais como painéis de visualização divididos) porque tudo o que está mudando é o arquivo que você está vendo, não todo o ambiente. Além disso, se implementadas corretamente, as guias de arquivo funcionam muito bem como um histórico imediato, permitindo que se volte rapidamente para um arquivo que foi trabalhado recentemente, com pouco esforço. A única maneira de fazer isso no Xcode é configurar explicitamente um novo ambiente de guia para cada arquivo com o qual deseja trabalhar, mas você deve ter cuidado para não alterar o arquivo nessa guia ou seu arquivo de repente se perderá: novamente, mais trabalho para o usuário.

As guias da área de trabalho também são significativamente mais pesadas do que as guias de arquivo, porque há muito mais para se lembrar e alternar as áreas de trabalho envolve muito mais do que alternar arquivos.

A verdade é (e acho que a maioria vai concordar comigo nisso), para um desenvolvedor, as guias de arquivo são muito mais úteis do que as guias de espaço de trabalho e, como está, o Xcode ainda não possui uma implementação adequada desse recurso que muitos considerariam uma funcionalidade básica necessária em um IDE / editor.

devios1
fonte
18

Xcode->Preferences->General->Double Click Navigatione na lista, escolha Uses Separate Tab.

Luca
fonte
4
No XCode 5 você vai paraPreferences->Navigation->Double Click Navigation
Gerard
17

Bem, não é uma resposta real, mas minha solução alternativa. O verdadeiro problema para mim é que um arquivo aberto em uma guia desaparece tão facilmente no xcode 4. Encontrar um arquivo novamente pode ser demorado, então eu gosto que eles fiquem em uma guia e permaneçam lá.

Resolvi isso (de alguma forma) identificando exatamente as ações que faço que fazem com que a guia mude para outro arquivo e os substitua por suas ações equivalentes, que abrem uma nova guia.

  • Em vez de clicar uma vez em um arquivo no navegador, sempre clico duas vezes no que defini para abrir uma nova guia
  • Na maioria das vezes eu não uso o navegador, pois ele tem um estado diferente de pastas abertas e fechadas em cada guia. Não é útil para mim. Então mudei para usar Option ⌥ Command ⌘ O. Ao abrir um arquivo desta lista eu mantenho ShiftOption ⌥pressionado. Na pequena janela que aparece, escolho 'nova guia'.
  • Ao clicar nos links do código, pressiono ShiftOption ⌥ Command ⌘também e abro em uma nova aba.

Eu mantenho duas guias fixas para editar as configurações relacionadas ao destino e para ver os resultados da construção. Desativei completamente toda a troca automática de guias nas preferências, porque percebi que isso me distraía muito.

Eu realmente adoraria obter algo como a barra de favoritos do xcode 3 no xcode 4, isso era tão simples de usar ..

franco
fonte
2
Embora isso não seja uma "solução" (não há nenhuma, pelo que eu posso dizer), eu gostei de aprender como abrir abas por meio de "abertura rápida" e clicando em links no código. Tedioso, mas muito útil. Obrigado.
ajmccall
8

Eu imagino que minha resposta não irá borbulhar por um tempo, mas se você quiser que isso funcione como estúdio visual ou intellij (ou pelo menos mais perto)

Preferências-> Geral-> Navegação de duplo clique-> Usa uma guia separada

Clicar duas vezes em um arquivo agora irá parar de abri-lo em uma nova janela e abri-lo em uma nova guia.

Solteiro ainda é burro e assume o controle da sua conta. Mas se você se acostumar a clicar duas vezes (o que eu já estava), isso vai lhe poupar algumas dores de cabeça. Eu suponho.

j03m
fonte
Essa configuração já foi mencionada acima, consulte stackoverflow.com/a/6666097/239408 stackoverflow.com/a/11029748/239408
xverges
4

Eu absolutamente odeio como as guias funcionam no Xcode. No entanto, a única solução que descobri que funciona decentemente é usar os atalhos das guias do OSX: CTRL + CMD + -> CTRL + CMD + <-

mithun_daa
fonte
3

Eu encontrei meu caminho em Preferências-Comportamentos!

Eu odiei o Xcode 4 primeiro pelos problemas de aba discutidos aqui, principalmente porque as informações de depuração continuavam abrindo novos arquivos em abas e mudando o navegador

em Behaviors, você pode definir uma guia Debug e fazer o Run and Build saltar para lá de várias maneiras. na guia Depurar, eu dou mais espaço para os navegadores à esquerda e na parte inferior

por motivos semelhantes, também tenho uma guia Encontrar

as outras guias são para arquivos que estou escrevendo. Eu as inicio com o .h, que geralmente é pequeno o suficiente, então eu preciso de apenas uma visualização e, em seguida, com cliques únicos no navegador, abro 2 a 3 versões do arquivo .cpp. Posso defini-los para os locais onde estão os pontos de acesso recentes no arquivo. em seguida, fecho os navegadores nessas guias

isso não invalida o cuidado e os truques dados nas outras respostas aqui, mas as torna muito menos difíceis

feliz codificação!

Matthias Grob
fonte
3

Descobri que ao pressionar optionaka altao abrir arquivos no navegador, você vai pular para a aba já aberta com o arquivo e uma nova aba se abrirá caso ainda não tenha sido aberta.

Esta técnica também funciona ao abrir arquivos via cmdshift- Oe abrir a sugestão com option- enterem vez de simplesmente enter...

Agora, se houvesse alguma maneira de tornar isso o padrão, ou seja, a necessidade de continuar pressionando optiono tempo todo seria removida, isso seria um grande passo em frente.

Também uso Behaviors para evitar que minhas guias sejam recicladas após falhas de teste ou compilação.

(Como outras pessoas, eu não gosto totalmente do comportamento da guia do Xcode. A Apple deveria dar uma olhada no IntelliJ ...)

Hendrik
fonte
1
Esta é uma das sugestões mais úteis para a reutilização de guias existentes. Longe de ser uma solução perfeita (aparentemente não existe), mas ajuda!
Mason Lee
1

A barra de guias do xcode é tão ruim que acho que a Apple deveria aprimorar o recurso de navegação de guias para evitar seguir 3 pontos. 1. clique duas vezes em um arquivo para permitir que o xcode abra outra aba se ela já estiver lá. 2. para mais guias, a guia ficará pequena e, portanto, não sei em qual arquivo em qual guia, quero que a guia mostre o nome completo 3. para ainda mais guias, novas guias serão ocultadas, em vez de duas linhas de guias . Eu quero mostrar duas linhas de barras de guia.

lbsweek
fonte
0

As guias no Xcode 4 funcionam como guias em outros lugares no Mac OS X, por exemplo no Safari e Terminal.

Chris Hanson
fonte
Em primeiro lugar, estou falando aqui sobre os critérios de abertura da guia, não faz sentido comparar com aplicativos que não são orientados a projetos . O problema é que clicar na árvore do projeto desencadeia um comportamento estranho em relação à abertura da guia.
Sorin
2
As guias no Xcode 4 se comportam como "guias reais", pois seguem as convenções estabelecidas para as guias no resto do sistema operacional. Eles fazem isso por design. Você pode optar por ter um clique de opção ou um clique duplo para abrir o que quer que tenha clicado em uma nova guia (ou janela) nas preferências Gerais; você não pode optar por abrir uma nova guia com um único clique.
Chris Hanson,
Mais especificamente, se você clicar em um arquivo no navegador do projeto, o Xcode não "abre uma guia" e depois "fecha essa guia" quando você clica em outro arquivo no navegador do projeto. O Xcode mostra o arquivo em que você clicou no editor principal da guia atual.
Chris Hanson,
1
que tal atalho de teclado para girar entre as guias?
ming yeow
26
Eu infantilmente quero downvote, porque eu odeio como as abas funcionam! Me faz todo Grrrr. :-)
david van brink
0

Se você tiver a barra de guia habilitado (View / Show Tab Bar) e clicar duas vezes em um arquivo, ele aparece em sua própria janela, com uma única guia ( Certifique-se que a barra de abas é habilitado em ambas as janelas principais novos e antigos () )

Agora, tudo que você precisa fazer é arrastar essa nova janela de sua guia e soltá-la na barra de guias da janela principal.

insira a descrição da imagem aqui

Ele permanecerá encaixado como uma guia separada, mostrando esse arquivo.

Para alterar o arquivo aberto nessa nova aba, vá em Projeto / Revelar no Navegador de Projetos , que abre o navegador de projetos no lado esquerdo.

bobobobo
fonte
3
Isso é "tudo que você precisa fazer" todas as vezes? ;) Você pode definir (em Preferências-> Comportamento) que o clique duplo deve abrir em uma nova aba ao invés de uma nova janela, mas isso ainda não melhora a terrível implementação das abas em primeiro lugar.
devios1
Você comentou para desconsiderar a resposta de @Daniel, mas sua resposta não aborda o fato de que quando você clica uma vez em um arquivo, ele altera o arquivo que está aberto na guia atual. Isso é diferente da maioria dos outros IDEs e não faz sentido.
0x6A75616E