Xcode hat schließlich Tabs hinzugefügt, aber das Problem ist, dass sie sich sehr seltsam verhalten. Beispielsweise lassen sie einen Tab nur geöffnet, wenn er für einen neuen Tab geöffnet wurde.
Wenn Sie eine Datei nur durch Klicken in den Projektbaum öffnen, schließt Xcode Ihre Registerkarte, sobald Sie auf eine andere Datei im Baum klicken.
Ist es möglich, sie wie echte Registerkarten zu verhalten und zu verhindern, dass Xcode sie wiederverwendet? Wie?
Antworten:
UPDATE für 2020:
Schließlich, fast 10 Jahre später, scheint Xcode 12 Beta 3 das hier beschriebene Problem größtenteils zu lösen. Im Bereich Navigationseinstellungen gibt es eine neue Option für den Navigationsstil , die dieses Verhalten steuert.
Dies kann sich natürlich in nachfolgenden Betas oder in der endgültigen Version von Xcode 12 ändern.
Das Verhalten hat einige neue Macken / Design-Entscheidungen, die sinnvoll erscheinen, aber ich gewöhne mich immer noch an die neue Erfahrung. Beispielsweise wird eine Registerkarte wiederverwendet, es sei denn, die Datei auf dieser Registerkarte wurde kürzlich bearbeitet. Eine solche Registerkarte ist kursiv dargestellt .
VORHERIGE ANTWORT
Ich glaube nicht, dass Sie derzeit das Verhalten bekommen können, das Sie sich wünschen (oder ich wünsche). Während die Registerkarten wie Safari funktionieren, funktionieren sie nicht wie Registerkarten in anderen gängigen IDEs (Visual Studio oder Eclipse). Und für mich ist das scheiße.
Im Allgemeinen erwarte ich, dass IDE-Registerkarten mehr als eine Datei offen halten. Wenn ich also in der Projektstruktur auf eine Datei klicke, wird diese voraussichtlich zu der Registerkarte wechseln, die ich mit dieser Datei geöffnet habe - sofern ich sie bereits geöffnet habe. Stattdessen ändert XCode 4 die aktuelle Registerkarte in die Datei, auf die ich geklickt habe. Dabei werden zwei Registerkarten mit derselben Datei erstellt. Es ist ziemlich nutzlos, zwei Registerkarten mit derselben Datei zu haben.
Dies zwingt den Benutzer, zuerst die Registerkartenleiste zu scannen, um festzustellen, ob die Datei gerade geöffnet ist. Wenn es nicht geöffnet ist, können Sie in den Projektbaum schauen. Aber wenn Sie zuerst in den Projektbaum klicken (was ich normalerweise mache), werden Sie bestraft, weil Sie gerade einen Tab getötet haben.
quelle
Ich benutze eine Methode ähnlich wie Franks:
Die große fehlende Funktion besteht darin, zu einer bereits geöffneten Registerkarte zu wechseln, die die Datei enthält, falls vorhanden (oder in der aktuellen zu bleiben).
quelle
Dies ist keine wirkliche Antwort, da sie eine Lösung enthält. Ich möchte meistens nur mitmachen. Durch Upvoting fühlen Sie sich jedoch besser und beweisen, dass Apple falsch liegt. :) :)
Das Problem bei der Implementierung von Registerkarten durch Xcode 4 besteht darin, dass Apple sie als Arbeitsbereich-Registerkarten implementiert hat . Mit anderen Worten, beim Erstellen einer neuen Registerkarte wird im Wesentlichen ein neuer Arbeitsbereich erstellt, von dem jeder seine eigenen Unterfenster mit seinen Konfigurationen usw. hat. Es handelt sich im Wesentlichen um eine gesamte Umgebung in jeder Registerkarte. Bei dieser Auswahl gibt es eine Reihe von Problemen.
Dies unterscheidet sich von der Implementierung von Dateiregistern durch die meisten IDE- / Texteditoren, bei denen ein Tab (im Allgemeinen) eine einzelne Datei darstellt und jede Datei einen eigenen Tab hat.
Das Problem mit Arbeitsbereich-Registerkarten besteht darin, dass es nur so viele potenzielle unterschiedliche Arbeitsbereiche gibt, von denen wir profitieren könnten, was die tatsächliche Verwendung von Registerkarten auf diese Weise stark einschränkt. Darüber hinaus werden die zusätzlichen Arbeitsbereiche nur zu einer Verpflichtung, die mehr Dinge einführt, mit denen sich der Benutzer der Anwendung befassen muss: Zum Beispiel, was die Navigatoransicht ist, welcher Editor-Modus aktiv ist (Standard, Assistent, Version), ob Die Debug-Konsole ist geöffnet usw. usw. Wenn Sie plötzlich zu einer neuen Registerkarte wechseln, müssen Sie sich jetzt darum kümmern, die Umgebung wieder in die gewünschte Form zu bringen, da die Wahrscheinlichkeit groß ist, dass die andere Registerkarte nicht in dem Zustand belassen wurde, in dem Sie sich befinden Erwarten Sie, dass Sie es finden. Dies rät tatsächlich von der Verwendung von Registerkarten ab, da dadurch mehr Arbeit in den Workflow eingeführt wird.
Bei Registerkarten für Dateien tritt dieses Problem nicht auf (Sonderfälle wie geteilte Ansichtsfenster werden nicht berücksichtigt), da sich nur die Datei ändert, die Sie betrachten, und nicht Ihre gesamte Umgebung. Darüber hinaus eignen sich Dateiregisterkarten bei ordnungsgemäßer Implementierung hervorragend als unmittelbarer Verlauf, sodass Sie mit geringem Aufwand schnell zu einer Datei zurückkehren können, in der kürzlich gearbeitet wurde. Die einzige Möglichkeit, dies in Xcode zu tun, besteht darin, explizit eine neue Registerkartenumgebung für jede Datei einzurichten, mit der Sie arbeiten möchten. Sie müssen jedoch darauf achten, die Datei in dieser Registerkarte nicht zu ändern, da sonst Ihre Datei plötzlich verloren geht: wieder mehr Arbeit für den Benutzer.
Arbeitsbereichsregisterkarten sind außerdem erheblich schwerer als Dateiregisterkarten, da viel mehr zu beachten ist und das Wechseln von Arbeitsbereichen viel mehr umfasst als das Wechseln von Dateien.
Die Wahrheit ist (und ich denke, die meisten werden mir darin zustimmen), dass für einen Entwickler Datei-Registerkarten viel nützlicher sind als Arbeitsbereich-Registerkarten, und derzeit fehlt Xcode immer noch eine ordnungsgemäße Implementierung dieser Funktion, die viele als grundlegende erforderliche Funktionalität betrachten würden in einer IDE / einem Editor.
quelle
Xcode->Preferences->General->Double Click Navigation
und wählen Sie aus der ListeUses Separate Tab
.quelle
Preferences->Navigation->Double Click Navigation
Nun, keine echte Antwort, aber meine persönliche Problemumgehung. Das eigentliche Problem für mich ist, dass eine in einem Tab geöffnete Datei in xcode 4 so leicht verschwindet. Das erneute Suchen einer Datei kann zeitaufwändig sein. Ich möchte, dass sie sich in einem Tab befinden und dort bleiben.
Ich habe dies (irgendwie) für mich gelöst, indem ich genau die Aktionen identifiziert habe, die dazu führen, dass die Registerkarte zu einer anderen Datei wechselt, und sie durch die entsprechenden Aktionen ersetzt habe, die stattdessen eine neue Registerkarte öffnen.
Ich behalte zwei feste Registerkarten, um zielbezogene Einstellungen zu bearbeiten und Build-Ergebnisse anzuzeigen. Ich habe alle automatischen Tab-Umschaltungen in den Einstellungen vollständig deaktiviert, weil ich bemerkt habe, dass mich das zu sehr abgelenkt hat.
Ich würde wirklich gerne so etwas wie die Xcode 3-Favoritenleiste in Xcode 4 bekommen, das war so einfach zu bedienen.
quelle
Ich kann mir vorstellen, dass meine Antwort für eine Weile nicht in die Luft sprudelt, aber wenn Sie möchten, dass dies wie ein visuelles Studio oder ein Intellij (oder zumindest näher) funktioniert
Einstellungen-> Allgemein-> Doppelklicken Sie auf Navigation-> Verwendet eine separate Registerkarte
Wenn Sie jetzt auf eine Datei doppelklicken, wird sie nicht mehr in einem neuen Fenster geöffnet und in einer neuen Registerkarte geöffnet.
Single ist immer noch dumm und übernimmt Ihren Tab. Aber wenn Sie sich an Doppelklicks gewöhnen (was ich bereits war), ersparen Sie sich einige Kopfschmerzen. Ich nehme an.
quelle
Ich hasse es absolut, wie Tabs in Xcode funktionieren. Die einzige Problemumgehung, die ich als anständig empfunden habe, ist die Verwendung der Verknüpfungen auf den OSX-Registerkarten: STRG + CMD + -> STRG + CMD + <-
quelle
Ich habe mich in Preferences-Behaviors zurechtgefunden!
Ich hasste Xcode 4 zuerst wegen der hier diskutierten Tab-Probleme, hauptsächlich weil die Debug-Informationen immer wieder neue Dateien in Tabs öffneten und den Navigator änderten
Unter Verhalten können Sie eine Registerkarte Debuggen definieren und Run and Build auf verschiedene Arten dorthin springen lassen. Auf der Registerkarte Debugge gebe ich den Navigatoren links und unten mehr Platz
Aus ähnlichen Gründen habe ich auch eine Registerkarte Suchen
Die anderen Registerkarten beziehen sich auf Dateien, in die ich schreibe. Ich beginne sie mit der .h, die normalerweise klein genug ist, sodass ich nur eine Ansicht benötige, und öffne dann mit einzelnen Klicks im Navegator 2-3 Versionen der CPP-Datei Ich kann sie auf die Speicherorte einstellen, an denen sich die letzten Hotspots in der Datei befinden. dann schließe ich die Navigatoren in diesen Registerkarten
Dies macht die Sorgfalt und die Tricks, die in den anderen Antworten hier angegeben sind, nicht ungültig, macht sie jedoch weitaus weniger schwierig
Viel Spaß beim Codieren!
quelle
Ich habe herausgefunden, dass Sie beim Drücken von optionaka altbeim Öffnen von Dateien im Navigator zu der Registerkarte springen, die bereits mit der Datei geöffnet ist, und eine neue Registerkarte wird geöffnet, falls sie noch nicht geöffnet war.
Diese Technik funktioniert auch beim Öffnen von Dateien über cmdshift- Ound Öffnen des Vorschlags mit option- enteranstelle von einfach enter...
Wenn es nun eine Möglichkeit gäbe, dies zur Standardeinstellung zu machen, dh die Notwendigkeit, optionständig zu drücken, würde entfernt, wäre dies ein großer Schritt nach vorne.
Außerdem verwende ich Behaviors, um zu verhindern, dass meine Tabs nach Test- oder Buildfehlern recycelt werden.
(Wie andere Leute mag ich das Tab-Verhalten von Xcode völlig falsch. Apple sollte sich IntelliJ ansehen ...)
quelle
Die Xcode-Tab-Leiste ist so beschissen, dass Apple die Funktion der Tab-Navigation verbessern sollte, um zu vermeiden, dass 3 Punkte befolgt werden. 1. Doppelklicken Sie auf eine Datei, damit xcode eine weitere Registerkarte öffnen kann, falls diese bereits vorhanden war. 2. Bei mehr Registerkarten wird die Registerkarte klein, und daher weiß ich nicht, welche Datei in welcher Registerkarte enthalten ist. Ich möchte, dass die Registerkarte den vollständigen Namen anzeigt. 3. Bei noch mehr Registerkarten werden neue Registerkarten anstelle von zwei Zeilen mit Registerkarten ausgeblendet . Ich möchte zwei Zeilen mit Registerkarten anzeigen.
quelle
Registerkarten in Xcode 4 funktionieren wie Registerkarten an anderer Stelle unter Mac OS X, z. B. in Safari und Terminal.
quelle
Wenn Sie die Registerkartenleiste aktiviert haben (Registerkartenleiste anzeigen / anzeigen) und auf eine Datei doppelklicken, wird sie in einem eigenen Fenster mit einer einzelnen Registerkarte angezeigt ( Stellen Sie sicher, dass die Registerkartenleiste sowohl im neuen als auch im alten (Haupt-) Fenster aktiviert ist ).
Jetzt müssen Sie nur noch das neue Fenster von der Registerkarte ziehen und in die Registerkartenleiste Ihres Hauptfensters ablegen.
Es bleibt als separate Registerkarte angedockt und zeigt diese Datei an.
Um die in dieser neuen Registerkarte geöffnete Datei zu ändern, gehen Sie im Projektnavigator zu Projekt / Anzeigen , wodurch der Projektnavigator auf der linken Seite geöffnet wird.
quelle