92 votes

Comment faire pour que les onglets fonctionnent normalement sur XCode 4 ?

XCode a finalement ajouté des onglets mais le problème est qu'ils se comportent de manière très étrange. Par exemple, ils ne gardent un onglet ouvert que s'il a été ouvert dans un nouvel onglet.

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

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

91voto

fenster Points 666

J'utilise une méthode similaire à celle de Franks :

  • Sur Préférences > Navigation (ou Préférences > Général dans les versions de XCode antérieures à la 5) vous pouvez définir Navigation en option a Utilise un onglet séparé
  • Ahora opt -Cliquez sur un fichier dans le navigateur de fichiers pour l'ouvrir dans un nouvel onglet.
  • Encore mieux, opt -cliquer sur les liens dans le code ouvre le fichier de destination dans un nouvel onglet

La grande fonction manquante est le passage à un onglet déjà ouvert contenant le fichier s'il y en a un (ou le maintien dans l'onglet actuel).

72voto

Daniel Points 1268

Je ne pense pas que vous puissiez actuellement obtenir le comportement que vous souhaitez (ou que je souhaite). Si les onglets fonctionnent comme dans Safari, ils ne fonctionnent pas comme les onglets des autres IDE populaires (Visual Studio ou Eclipse). Et pour moi, ça craint.

En général, je m'attends à ce que les onglets de l'IDE gardent plus d'un fichier ouvert. Ainsi, si je clique sur un fichier dans l'arbre 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 pour le fichier sur lequel j'ai cliqué - créant ainsi 2 onglets avec le même fichier. Avoir 2 onglets avec le même fichier est assez inutile.

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

24voto

chaiguy Points 7615

Ce n'est pas vraiment une réponse dans la mesure où elle contient une solution ; je veux surtout me joindre aux plaintes. Mais le fait d'upvoter vous fera vous sentir mieux et prouvera qu'Apple a tort :)

Le problème avec l'implémentation des onglets dans Xcode 4 est qu'Apple les a implémentés en tant que 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 ayant ses propres sous-panneaux avec leurs configurations, etc. Il s'agit essentiellement d'un environnement complet dans chaque onglet. Ce choix pose un certain nombre de problèmes.

Cela diffère de l'implémentation de la plupart des IDE/éditeurs de texte de la fonction onglets de fichiers dans lequel 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, c'est qu'il n'y a qu'un nombre limité d'espaces de travail potentiels différents 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 un handicap, en introduisant plus de choses dont l'utilisateur de l'application doit se préoccuper : par exemple, quelle 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 l'état où vous en avez besoin, car il y a de fortes chances que l'autre onglet n'ait pas été laissé dans l'état dans lequel vous vous attendiez à le trouver. Cela décourage en fait l'utilisation des onglets, car cela introduit plus de travail dans le flux de travail.

Les onglets de fichiers n'ont pas ce problème (sans compter les cas particuliers comme les volets de vue fractionnée) car tout ce qui change est le fichier que vous regardez, et non l'ensemble de votre environnement. De plus, s'ils sont correctement mis en œuvre, les onglets de fichier fonctionnent parfaitement comme un historique immédiat, permettant de revenir rapidement à un fichier sur lequel on a travaillé récemment, sans trop d'effort. La seule façon de faire cela dans Xcode est de configurer explicitement un nouvel environnement d'onglets pour chaque fichier avec lequel vous voulez travailler, mais vous devez faire attention à ne pas changer le fichier dans cet onglet ou votre fichier sera soudainement perdu : encore une fois, plus de travail pour l'utilisateur.

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

En vérité (et je pense que la plupart des gens seront d'accord avec moi sur ce point), pour un développeur, les onglets de fichiers sont beaucoup plus utiles que les onglets de l'espace de travail, et en l'état actuel des choses, Xcode toujours ne dispose pas d'une implémentation correcte de cette fonctionnalité que beaucoup considèrent comme une fonctionnalité de base requise dans un IDE/éditeur.

18voto

Luca Points 1880

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

17voto

frank Points 439

Ce n'est pas une vraie réponse, mais ma solution 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, c'est pourquoi j'aime qu'ils soient dans un onglet et y restent.

J'ai résolu ce problème (d'une manière ou d'une autre) en identifiant exactement les actions que je fais qui font passer l'onglet à un autre fichier et en les remplaçant par des actions équivalentes qui ouvrent un nouvel onglet à la place.

  • Au lieu de cliquer une seule fois sur un fichier dans le navigateur, je double-clique toujours sur le fichier que j'ai configuré pour qu'il ouvre un nouvel onglet.
  • La plupart du temps, je n'utilise pas le navigateur, car il présente un état différent des dossiers ouverts et fermés dans chaque onglet. Ce n'est pas utile pour moi. Je suis donc passé à l'utilisation de 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".
  • Lorsque je clique sur des liens dans le code, j'appuie sur ShiftOption ⌥ Command ⌘ aussi, et ouvrir dans un nouvel onglet.

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

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X