web-dev-qa-db-fra.com

Comment puis-je faire fonctionner les onglets normalement sur Xcode 4?

Xcode a finalement ajouté des onglets mais le problème est qu'ils se comportent très étrangement. Par exemple, ils ne garderont un onglet ouvert que s'il a été ouvert dans un nouvel onglet.

Si vous ouvrez un fichier simplement en cliquant dans l'arborescence du projet, Xcode fermera votre onglet dès que vous cliquez sur un autre fichier dans l'arborescence.

Est-il possible de les faire se comporter comme de vrais onglets et d'empêcher Xcode de les réutiliser? Comment?

85
sorin

Je ne pense pas que vous puissiez actuellement obtenir le comportement que vous désirez (ou je désire). Bien que les onglets fonctionnent comme Safari, ils ne fonctionnent pas comme les onglets dans d'autres IDE populaires (Visual Studio ou Eclipse). Et pour moi, ce genre de suce.

En général, je m'attends à ce que IDE gardent plus d'un fichier ouvert. Donc, si je clique sur un fichier dans l'arborescence du projet, je m'attends à ce qu'il passe à l'onglet que j'ai ouvert avec ce fichier - si je l'ai déjà ouvert. Au lieu de cela, XCode 4 change l'onglet actuel en fichier sur lequel j'ai cliqué - créant 2 onglets avec le même fichier. Avoir 2 onglets avec le même fichier est assez inutile.

Cela oblige l'utilisateur à analyser la barre d'onglets en premier pour voir si le fichier est actuellement ouvert; s'il n'est pas ouvert, vous pouvez consulter l'arborescence du projet. Mais si vous cliquez d'abord dans l'arborescence du projet (ce que j'ai tendance à faire), vous êtes puni parce que vous venez de tuer un onglet.

68
Daniel

J'utilise une méthode similaire aux francs:

  • Dans Préférences> Navigation (ou Préférences> Général dans les versions de XCode antérieures à 5), vous pouvez définir Navigation facultative à tilise séparément Tab
  • Maintenant opt - cliquer sur un fichier dans le navigateur de fichiers l'ouvrira dans un nouvel onglet
  • Mieux encore, opt - cliquer sur les liens dans le code ouvre le fichier de destination dans un nouvel onglet

La grande fonctionnalité manquante est de basculer vers un onglet déjà ouvert contenant le fichier s'il en existe un (ou de rester dans celui en cours).

88
fenster

Ce n'est pas vraiment une réponse dans la mesure où elle contient une solution; Je veux surtout me joindre à la prise en main. Mais le vote positif vous fera vous sentir mieux et prouvera Apple faux.:)

Le problème avec l'implémentation des onglets de Xcode 4 est que Apple les a implémentés comme onglets de l'espace de travail. En d'autres termes, la création d'un nouvel onglet crée essentiellement un nouvel espace de travail, chacun avec ses propres sous-volets avec leurs configurations, etc. C'est essentiellement un environnement entier dans chaque onglet. Il y a un certain nombre de problèmes avec ce choix.

Cela diffère de l'implémentation de la plupart des éditeurs IDE/texte de onglets de fichier dans laquelle un onglet (généralement) représente un seul fichier, et chaque fichier a son propre onglet.

Le problème avec les onglets d'espace de travail est qu'il y a seulement autant d'espaces de travail différents potentiels dont nous pourrions bénéficier, ce qui limite considérablement l'utilisation réelle des onglets de cette manière. Au-delà de cela, les espaces de travail supplémentaires deviennent simplement un handicap, introduisant plus de choses dont l'utilisateur de l'application doit se préoccuper: par exemple, ce qu'est la vue du navigateur, quel mode d'édition est actif (standard, assistant, version), si la console de débogage est ouverte, etc. etc. Passer soudainement à un nouvel onglet signifie que vous devez maintenant vous soucier de remettre l'environnement dans la forme dont vous en avez besoin, car il y a de fortes chances que l'autre onglet ne soit pas laissé dans l'état dans lequel vous vous trouvez. attendez-vous à le trouver. Cela décourage en fait l'utilisation des onglets car il introduit plus de travail dans le flux de travail.

Les onglets de fichiers n'ont pas ce problème (sans compter les cas spéciaux comme les volets de vue fractionnée) car tout ce qui change, c'est le fichier que vous regardez, pas votre environnement entier. De plus, s'ils sont correctement mis en œuvre, les onglets de fichiers fonctionnent très bien en tant qu'historique immédiat, ce qui permet de revenir rapidement à un fichier qui a été utilisé récemment, sans trop d'effort. La seule façon de le faire dans Xcode est de configurer explicitement un nouvel environnement d'onglets pour chaque fichier avec lequel vous souhaitez travailler, mais vous devez faire attention à ne pas modifier le fichier dans cet onglet ou votre fichier se perd soudainement: encore une fois, plus de travail pour l'utilisateur.

Les onglets d'espace de travail sont également beaucoup plus lourds que les onglets de fichiers, car il y a beaucoup plus à retenir et le changement d'espaces de travail implique beaucoup plus que le changement de fichiers.

La vérité est (et je pense que la plupart seront d'accord avec moi), pour un développeur, les onglets de fichiers sont beaucoup beaucoup plus utiles que les onglets de l'espace de travail, et comme il tient Xcode toujours manque une implémentation appropriée de cette fonctionnalité que beaucoup considéreraient la fonctionnalité requise de base dans un IDE/éditeur.

23
devios1

Xcode->Preferences->General->Double Click Navigation et dans la liste, choisissez Uses Separate Tab.

18
Luca

Eh bien, pas une vraie réponse mais ma solution de contournement personnelle. Le vrai problème pour moi est qu'un fichier ouvert dans un onglet disparaît si facilement dans xcode 4. Retrouver un fichier peut prendre beaucoup de temps, donc j'aime qu'ils soient dans un onglet et y restent.

J'ai résolu cela (en quelque sorte) pour moi en identifiant exactement les actions que je fais qui font basculer l'onglet vers un autre fichier et les remplacent par leurs actions équivalentes qui ouvrent un nouvel onglet à la place.

  • Au lieu de cliquer sur un fichier dans le navigateur, je double-clique toujours sur celui que j'ai défini pour ouvrir un nouvel onglet
  • La plupart du temps, je n'utilise pas le navigateur, car il a un état différent de dossiers ouverts et fermés dans chaque onglet. Pas utile pour moi. Je suis donc passé à utiliser Option ⌥Command ⌘O. Lorsque j'ouvre un fichier de cette liste, je garde ShiftOption ⌥ pressé. Dans la petite fenêtre qui apparaît, je choisis "nouvel onglet".
  • En cliquant sur les liens dans le code, j'appuie sur ShiftOption ⌥Command ⌘, aussi, et ouvrez dans un nouvel onglet.

Je garde deux onglets fixes pour modifier les paramètres liés à la cible et afficher les résultats de la construction. J'ai complètement désactivé la commutation automatique des onglets dans les préférences, car j'ai remarqué que cela me distrayait beaucoup.

J'aimerais vraiment avoir quelque chose comme la barre des favoris xcode 3 dans xcode 4, c'était si simple à utiliser ..

17
frank

J'imagine que ma réponse ne bouillonnera pas pendant un certain temps, mais si vous voulez que cela fonctionne comme Visual Studio ou Intellij (ou du moins plus près)

Préférences-> Général-> Navigation double-clic-> Utilise un onglet séparé

Double-cliquer sur un fichier maintenant arrêtera de l'ouvrir dans une nouvelle fenêtre et l'ouvrira dans un nouvel onglet.

Le célibataire est toujours muet et reprend votre onglet. Mais si vous vous habituez à double-cliquer (ce que j'étais déjà), cela vous évitera quelques maux de tête. Je suppose.

8
j03m

Je déteste absolument le fonctionnement des onglets dans Xcode. Cependant, la seule solution de contournement que j'ai trouvée qui fonctionne correctement est d'utiliser les raccourcis des onglets OSX: CTRL + CMD + -> CTRL + CMD + <-

4
mithun_daa

J'ai découvert qu'en appuyant sur option alias. alt lors de l'ouverture de fichiers dans le navigateur, vous accéderez à l'onglet déjà ouvert avec le fichier et un nouvel onglet s'ouvrira au cas où il ne serait pas encore ouvert.

Cette technique fonctionne également lors de l'ouverture de fichiers via cmdshift-O et en ouvrant la suggestion avec option-enter au lieu de simplement enter...

Maintenant, s'il y avait un moyen de faire de cela la valeur par défaut, c'est-à-dire la nécessité de continuer à appuyer sur option tout le temps serait supprimé, ce serait un grand pas en avant.

J'utilise également des comportements pour empêcher mes onglets d'être recyclés après des échecs de test ou de génération.

(Comme d'autres personnes, je n'aime pas du tout le comportement des onglets de Xcode. Apple devrait jeter un œil à IntelliJ ...)

3
Hendrik

J'ai trouvé ma voie dans Préférences-Comportements!

J'ai d'abord détesté Xcode 4 pour les problèmes d'onglet discutés ici, principalement parce que les informations de débogage continuaient d'ouvrir de nouveaux fichiers dans les onglets et de changer le navigateur

dans Comportements, vous pouvez définir un onglet Déboguer et y faire sauter Exécuter et Construire de différentes manières. dans l'onglet Debug je donne plus d'espace aux navigateurs gauche et bas

pour des raisons similaires, j'ai également un onglet Rechercher

les autres onglets sont pour les fichiers dans lesquels j'écris. Je les démarre avec le .h qui est généralement assez petit donc je n'ai besoin que d'une seule vue, puis en un seul clic dans le navegator j'ouvre 2-3 versions du fichier .cpp afin Je peux les définir aux emplacements où se trouvent les points chauds récents dans le fichier. puis je ferme les navigateurs dans ces onglets

cela n'invalide pas les soins et les astuces donnés dans les autres réponses ici, mais les rend beaucoup moins difficiles

codage heureux!

3
Matthias Grob

la barre d'onglets xcode est tellement nulle, je pense que Apple devrait améliorer la fonctionnalité de la navigation par onglets pour éviter les 3 points suivis. 1. double-cliquer sur un fichier permettra à xcode d'ouvrir un autre onglet s'il a déjà été 2. pour plus d'onglets, l'onglet deviendra petit et donc je ne sais pas quel fichier dans quel onglet, je veux que l'onglet affiche le nom complet 3. pour encore plus d'onglets, de nouveaux onglets seront cachés, au lieu de deux lignes des onglets. Je veux qu'il montre deux lignes de barres d'onglets.

1
lbsweek

Si la barre d'onglets est activée (Afficher/Afficher la barre d'onglets) et que vous double-cliquez sur un fichier, il apparaît dans sa propre fenêtre, avec un seul onglet (Assurez-vous que la barre d'onglets est activée dans les deux les nouvelles et anciennes fenêtres (principales)).

Maintenant, tout ce que vous avez à faire est faites glisser cette nouvelle fenêtre depuis son onglet et déposez-la dans la barre d'onglets de votre fenêtre principale .

enter image description here

Il restera ancré dans un onglet séparé, montrant ce fichier.

Pour modifier le fichier ouvert dans ce nouvel onglet, allez Projet/Révéler dans Project Navigator , ce qui ouvre le navigateur de projet à côté gauche.

0
bobobobo

Les onglets dans Xcode 4 fonctionnent comme des onglets ailleurs sur Mac OS X, par exemple dans Safari et Terminal.

0
Chris Hanson