Xcode w końcu dodał zakładki, ale problem polega na tym, że zachowują się bardzo dziwnie. Na przykład zachowają otwartą kartę tylko wtedy, gdy została otwarta na nowej karcie.
Jeśli otworzysz plik po prostu klikając w drzewo projektu, Xcode zamknie twoją kartę, gdy tylko klikniesz inny plik w drzewie.
Czy można sprawić, by zachowywały się jak prawdziwe karty i uniemożliwić Xcode ich ponowne użycie? W jaki sposób?
Odpowiedzi:
AKTUALIZACJA na rok 2020:
Wreszcie, prawie 10 lat później, Xcode 12.x wydaje się teraz w większości rozwiązywać opisany tutaj problem. W panelu ustawień nawigacji dostępna jest nowa opcja Styl nawigacji , która kontroluje to zachowanie.
To zachowanie ma kilka nowych dziwactw / wyborów projektowych, które wydają się mieć sens, ale wciąż przyzwyczajam się do nowego doświadczenia. Na przykład karta zostanie ponownie wykorzystana, chyba że plik na tej karcie był ostatnio edytowany; taka zakładka jest oznaczona kursywą w tytule.
POPRZEDNIA ODPOWIEDŹ
Nie sądzę, że obecnie możesz uzyskać pożądane zachowanie (lub ja pragnę). Chociaż karty działają jak Safari, nie działają jak karty w innych popularnych środowiskach IDE (Visual Studio lub Eclipse). I dla mnie ten rodzaj jest do bani.
Ogólnie oczekuję, że karty IDE będą przechowywać więcej niż 1 plik otwarty. Więc jeśli kliknę plik w drzewie projektu, spodziewam się, że przełączy się on na zakładkę, którą otworzyłem z tym plikiem - jeśli już go otworzyłem. Zamiast tego XCode 4 zmienia bieżącą kartę na plik, który kliknąłem - tworząc 2 karty z tym samym plikiem. Posiadanie 2 zakładek z tym samym plikiem jest raczej bezużyteczne.
Zmusza to użytkownika do zeskanowania najpierw paska kart, aby sprawdzić, czy plik jest aktualnie otwarty; jeśli nie jest otwarte, możesz spojrzeć na drzewo projektu. Ale jeśli najpierw klikniesz drzewo projektu (co zwykle robię), zostaniesz ukarany, ponieważ właśnie zabiłeś kartę.
źródło
Używam metody podobnej do franków:
Dużym brakującym elementem jest zamiana na już otwartą kartę zawierającą plik, jeśli taki istnieje (lub pozostanie w bieżącym).
źródło
To nie jest tak naprawdę odpowiedź, ponieważ zawiera rozwiązanie; Przede wszystkim chcę po prostu dołączyć do gry. Ale upvotowanie sprawi, że poczujesz się lepiej i udowodnisz, że Apple się mylił. :)
Problem z implementacją zakładek w Xcode 4 polega na tym, że Apple zaimplementował je jako zakładki obszaru roboczego . Innymi słowy, utworzenie nowej karty zasadniczo tworzy nowy obszar roboczy, każdy z własnymi panelami podrzędnymi z ich konfiguracjami itp. Jest to zasadniczo całe środowisko na każdej karcie. Z tym wyborem wiąże się wiele problemów.
Różni się to od implementacji kart plików w większości IDE / edytorów tekstu, w których zakładka (ogólnie) reprezentuje pojedynczy plik, a każdy plik ma swoją własną kartę.
Problem z kartami obszaru roboczego polega na tym, że istnieje tylko tyle potencjalnych różnych obszarów roboczych, z których moglibyśmy skorzystać, co poważnie ogranicza faktyczne użycie kart w ten sposób. Poza tym dodatkowe przestrzenie robocze stają się po prostu zobowiązaniem, wprowadzając więcej rzeczy, którymi użytkownik aplikacji musi się zająć: na przykład, czym jest widok nawigatora, jaki tryb edytora jest aktywny (standardowy, asystent, wersja), czy konsola debugowania jest otwarta itp. itp. Nagłe przejście do nowej karty oznacza, że musisz się teraz martwić o przywrócenie środowiska do potrzebnej formy, ponieważ istnieje duża szansa, że druga karta nie pozostała w takim stanie, w jakim spodziewaj się, że go znajdziesz. To faktycznie zniechęca do używania zakładek, ponieważ wprowadza więcej pracy w przepływie pracy.
Karty plików nie mają tego problemu (nie licząc specjalnych przypadków, takich jak podzielone okienka widoku), ponieważ zmienia się tylko plik, na który patrzysz, a nie całe środowisko. Co więcej, jeśli zaimplementowane poprawnie, zakładki plików świetnie sprawdzają się jako natychmiastowa historia, umożliwiając szybkie przełączenie się z powrotem do pliku, w którym ostatnio pracowano, przy niewielkim wysiłku. Jedynym sposobem, aby to zrobić w Xcode, jest jawne skonfigurowanie nowego środowiska kart dla każdego pliku, z którym chcesz pracować, ale musisz uważać, aby nie zmienić pliku na tej karcie, ponieważ plik nagle zostanie utracony: znowu więcej pracy dla użytkownika.
Karty obszaru roboczego są również znacznie cięższe niż karty plików, ponieważ jest o wiele więcej do zapamiętania, a przełączanie obszarów roboczych obejmuje znacznie więcej niż przełączanie plików.
Prawda jest taka (i myślę, że większość się ze mną zgodzi) dla programisty zakładki plików są znacznie bardziej przydatne niż zakładki obszaru roboczego, a w obecnym kształcie Xcode wciąż nie ma odpowiedniej implementacji tej funkcji, którą wielu uważa za podstawową wymaganą funkcjonalność w IDE / edytorze.
źródło
Xcode->Preferences->General->Double Click Navigation
iz listy wybierzUses Separate Tab
.źródło
Preferences->Navigation->Double Click Navigation
Cóż, nie jest to prawdziwa odpowiedź, ale moje osobiste obejście. Prawdziwym problemem dla mnie jest to, że plik otwarty w karcie znika tak łatwo w xcode 4. Ponowne znajdowanie pliku może być czasochłonne, więc lubię, aby były w karcie i tam pozostawały.
Rozwiązałem to (w jakiś sposób) za siebie, dokładnie identyfikując akcje, które wykonuję, które powodują przełączenie karty do innego pliku i zastąpienie ich równoważnymi akcjami, które zamiast tego otwierają nową kartę.
Mam dwie stałe karty do edycji ustawień związanych z celami i przeglądania wyników kompilacji. Całkowicie wyłączyłem wszystkie automatyczne przełączanie kart w ustawieniach wstępnych, ponieważ zauważyłem, że bardzo mnie to rozprasza.
Naprawdę chciałbym uzyskać coś takiego jak pasek ulubionych xcode 3 w xcode 4, był tak prosty w użyciu.
źródło
Wyobrażam sobie, że moja odpowiedź nie pojawi się przez chwilę, ale jeśli chcesz, aby to działało jak Visual Studio lub Intellij (lub przynajmniej bliżej)
Preferencje-> Ogólne-> Podwójne kliknięcie Nawigacja-> Używa osobnej zakładki
Dwukrotne kliknięcie pliku teraz przestanie otwierać go w nowym oknie i otworzy w nowej karcie.
Singiel jest nadal głupi i przejmuje Twoją kartę. Ale jeśli przyzwyczaisz się do podwójnego klikania (co już robiłem), zaoszczędzi ci to trochę bólu głowy. Przypuszczam.
źródło
Absolutnie nienawidzę, jak działają zakładki w Xcode. Jednak jedynym rozwiązaniem, które znalazłem, które działa przyzwoicie, jest użycie skrótów na kartach OSX: CTRL + CMD + -> CTRL + CMD + <-
źródło
Znalazłem swoją drogę w Preferencjach-Zachowaniach!
Nienawidziłem Xcode 4 jako pierwszy ze względu na omówione tutaj problemy z kartami, głównie dlatego, że informacje debugowania ciągle otwierały nowe pliki w zakładkach i zmieniały nawigator
w Behaviors możesz zdefiniować zakładkę Debug i przeskoczyć tam na różne sposoby. w zakładce Debug daję więcej miejsca nawigatorom na lewo i na dole
z podobnych powodów mam też zakładkę Znajdź
pozostałe zakładki są dla plików, w których piszę. Zaczynam je od .h, który jest zwykle na tyle mały, że potrzebuję tylko jednego widoku, a następnie pojedynczymi kliknięciami w nawigatorze otwieram 2-3 wersje pliku .cpp, więc Mogę ustawić je na lokalizacje, w których znajdują się ostatnio aktywne punkty w pliku. następnie zamykam nawigatory w tych zakładkach
nie unieważnia to troski i sztuczek podanych w innych odpowiedziach, ale czyni je znacznie mniej trudnymi
miłego kodowania!
źródło
Dowiedziałem się, że naciskając optionaka altpodczas otwierania plików w nawigatorze, przeskoczysz do karty już otwartej z plikiem i otworzy się nowa karta, jeśli nie była jeszcze otwarta.
Ta technika działa również podczas otwierania plików przez cmdshift- Oi otwierania sugestii za pomocą option- enterzamiast po prostu enter...
Teraz, gdyby istniał jakiś sposób, aby uczynić to domyślnym, tj. Potrzeba ciągłego naciskania optionzostałaby usunięta, byłby to duży krok naprzód.
Używam również Zachowań, aby zapobiec ponownemu przetwarzaniu moich kart po błędach testów lub kompilacji.
(Podobnie jak inni ludzie, zupełnie nie podoba mi się zachowanie karty Xcode. Apple powinien przyjrzeć się IntelliJ ...)
źródło
Pasek kart xcode jest tak do niczego, myślę, że Apple powinien ulepszyć funkcję nawigacji po kartach, aby uniknąć przestrzegania 3 punktów. 1. dwukrotne kliknięcie pliku pozwoli xcode otworzyć kolejną kartę, jeśli już tam była. 2. dla większej liczby zakładek zakładka stanie się mała i dlatego nie wiem, w którym pliku, w której zakładce, chcę, aby karta miała pełną nazwę 3. dla jeszcze większej liczby zakładek nowe zakładki będą ukryte zamiast dwóch wierszy zakładek . Chcę, żeby pokazywały dwie linie pasków kart.
źródło
Karty w Xcode 4 działają jak karty w innych miejscach w systemie Mac OS X, na przykład w Safari i Terminalu.
źródło
Jeśli masz włączony pasek kart (Wyświetl / pokaż pasek kart) i dwukrotnie klikniesz plik, pojawi się on w swoim własnym oknie, z pojedynczą kartą ( upewnij się, że pasek kart jest włączony zarówno w nowym, jak i starym (głównym) oknie ).
Teraz wszystko, co musisz zrobić, to przeciągnąć nowe okno z karty i upuścić je na pasku kart w oknie głównym.
Pozostanie zadokowany jako oddzielna karta, pokazując ten plik.
Aby zmienić plik otwarty w tej nowej karcie, przejdź do Project / Reveal w Project Navigator , co spowoduje otwarcie nawigatora projektu po lewej stronie.
źródło