Come posso far funzionare normalmente le schede su Xcode 4?


86

Xcode ha finalmente aggiunto le schede ma il problema è che si comportano in modo molto strano. Ad esempio, manterranno una scheda aperta solo se è stata aperta in una nuova scheda.

Se apri un file semplicemente facendo clic nell'albero del progetto, Xcode chiuderà la scheda non appena farai clic su un altro file nell'albero.

È possibile farli comportare come schede reali e impedire a Xcode di riutilizzarli? Come?


17
Anch'io penso che la navigazione di XCode sia stravagante e strana. Schede, ma anche ogni scheda ha una cronologia, ma la cronologia non è solo file, è punti all'interno dei file ... Muoversi con la tastiera è solo una cosa. "Funziona come in Safari" non lo rende buono ...
david van brink

1
@davidvanbrink Io non capisco, come è l'interfaccia di XCode a tutti come il film ?
bobobobo

1
Credo che j03m abbia risposto correttamente alla tua domanda
Błażej

Risposte:


69

AGGIORNAMENTO per il 2020:

Infine, quasi 10 anni dopo, Xcode 12 beta 3 ora sembra risolvere principalmente il problema qui descritto. C'è una nuova opzione Stile di navigazione nel pannello delle impostazioni di navigazione che controlla questo comportamento.

Ovviamente, questo potrebbe cambiare nelle versioni beta successive o nella versione finale di Xcode 12.

Il comportamento ha alcune nuove stranezze / scelte di design che sembrano avere senso, ma mi sto ancora abituando alla nuova esperienza. Ad esempio, una scheda verrà riutilizzata a meno che il file in quella scheda non sia stato modificato di recente; tale scheda è indicata con un titolo in corsivo .


RISPOSTA PRECEDENTE

Non penso che tu possa attualmente ottenere il comportamento che desideri (o che desidero). Sebbene le schede funzionino come Safari, non funzionano come le schede in altri IDE popolari (Visual Studio o Eclipse). E per me questo tipo di schifo.

In generale, mi aspetto che le schede IDE mantengano più di 1 file aperto. Quindi, se clicco su un file nella struttura del progetto, mi aspetto che passi alla scheda che ho aperto con quel file, se l'ho già aperto. Invece, XCode 4 cambia la scheda corrente nel file su cui ho fatto clic, creando 2 schede con lo stesso file. Avere 2 schede con lo stesso file è abbastanza inutile.

Ciò costringe l'utente a esaminare prima la barra delle schede per vedere se il file è attualmente aperto; se non è aperto, puoi guardare all'albero del progetto. Ma se fai prima clic nell'albero del progetto (che è quello che tendo a fare), verrai punito perché avrai appena ucciso una scheda.


1
Invia una segnalazione di bug! Il nome della scheda dovrebbe essere uguale al file corrente in quella scheda (!)
mda

13
XCode 6 continua a non gestire le schede come previsto :(
Ivan Marinov

1
Sembra risolto in XCode 7! L'ho impostato in modo che il doppio clic si apra in una nuova scheda e, se il file è già aperto, ti porta in quella scheda anziché in una nuova.
chiliNUT

1
chiliNUT. Come hai impostato la tua impostazione per questo comportamento? Quando faccio doppio clic, si apre il file in una nuova scheda, anche se ho già il file aperto in una scheda esistente.
andynil

XCode 10 continua a non gestire le schede come previsto :(
pingu

90

Uso un metodo simile a Frank:

  • In Preferenze> Navigazione (o Preferenze> Generali nelle versioni di XCode precedenti alla 5) puoi impostare Navigazione facoltativa su Usa scheda separata
  • Ora opt -click su un file nel file Navigator si aprirà in una nuova scheda
  • Meglio ancora, opt -clic collegamenti nel codice apre il file di destinazione in una nuova scheda

La grande caratteristica mancante è passare a una scheda già aperta contenente il file se ce n'è uno (o rimanere in quello corrente).


Fantastico, questa risposta mi ha salvato e puoi anche impostare Doppio clic per aprire in una nuova scheda
melanke

8
È nella scheda Navigazione in Preferenze (potrebbe essere una modifica in Xcode 5). Preferenze -> Navigazione -> Navigazione opzionale -> Utilizza scheda separata
Priebe

Questo e 'esattamente quello che stavo cercando! Ho sempre usato IDE come VS o PHPStorm che utilizzavano schede e questo mi ha davvero salvato
hardsetting

3
La grande caratteristica mancante è passare a una scheda già aperta contenente il file se ce n'è uno (o rimanere in quello corrente). Vorrei che questo venga aggiunto
MistyD

3
Tuttavia non mi piace il fatto di poter avere due schede con il file sime aperto. Non mi piace affatto il sistema di schede dell'area di lavoro in Xcode ...
Nuno Gonçalves

24

Questa non è realmente una risposta in quanto contiene una soluzione; Per lo più voglio solo unirmi alla lamentela. Ma il voto positivo ti farà sentire meglio e dimostrerà che Apple si sbaglia. :)

Il problema con l'implementazione delle schede di Xcode 4 è che Apple le ha implementate come schede dell'area di lavoro . In altre parole, la creazione di una nuova scheda crea essenzialmente un nuovo spazio di lavoro, ciascuno con i propri pannelli secondari con le proprie configurazioni, ecc. È essenzialmente un intero ambiente in ogni scheda. Ci sono una serie di problemi con questa scelta.

Ciò differisce dall'implementazione delle schede di file nella maggior parte degli editor di IDE / testo in cui una scheda (generalmente) rappresenta un singolo file e ogni file ha la propria scheda.

Il problema con le schede dell'area di lavoro è che ci sono così tante potenziali aree di lavoro diverse da cui potremmo trarre vantaggio, limitando gravemente l'uso effettivo delle schede in questo modo. Oltre a ciò, gli spazi di lavoro aggiuntivi diventano solo una responsabilità, introducendo più cose di cui l'utente dell'applicazione deve occuparsi: ad esempio, cos'è la visualizzazione del navigatore, quale modalità dell'editor è attiva (standard, assistente, versione), se la console di debug è aperta, ecc. ecc. Passare all'improvviso a una nuova scheda significa che ora devi preoccuparti di riportare l'ambiente nella forma che ti serve, perché ci sono buone probabilità che l'altra scheda non sia stata lasciata nello stato in cui aspettarsi di trovarlo in. Questo scoraggia effettivamente l'uso delle schede perché introduce più lavoro nel flusso di lavoro.

Le schede dei file non hanno questo problema (senza contare i casi speciali come i riquadri di visualizzazione divisa) perché tutto ciò che sta cambiando è il file che stai guardando, non l'intero ambiente. Inoltre, se implementate correttamente, le schede dei file funzionano alla grande come cronologia immediata, consentendo di tornare rapidamente a un file su cui è stato lavorato di recente, con poco sforzo. L'unico modo per farlo in Xcode è impostare in modo esplicito un nuovo ambiente di schede per ogni file con cui vuoi lavorare, ma devi stare attento a non cambiare il file in quella scheda o il tuo file viene perso all'improvviso: ancora una volta, più lavoro per l'utente.

Le schede dell'area di lavoro sono anche molto più pesanti rispetto alle schede dei file, perché c'è molto di più da ricordare e cambiare area di lavoro implica molto di più che cambiare file.

La verità è (e penso che la maggior parte sarà d'accordo con me su questo), per uno sviluppatore, le schede dei file sono molto più utili delle schede dell'area di lavoro, e allo stato attuale Xcode manca ancora di una corretta implementazione di questa funzione che molti considererebbero funzionalità di base richiesta in un IDE / editor.


18

Xcode->Preferences->General->Double Click Navigatione dall'elenco, scegli Uses Separate Tab.


4
In XCode 5 vai aPreferences->Navigation->Double Click Navigation
Gerard

17

Beh, non una vera risposta, ma la mia soluzione personale. Il vero problema per me è che un file aperto in una scheda scompare così facilmente in xcode 4. Trovare di nuovo un file può richiedere molto tempo, quindi mi piace che siano in una scheda e rimangano lì.

Ho risolto questo (in qualche modo) per me identificando esattamente le azioni che faccio che fanno passare la scheda a un altro file e le sostituiscono con le loro azioni equivalenti che aprono invece una nuova scheda.

  • Invece di fare clic una volta su un file nel navigatore, faccio sempre doppio clic su quello che ho impostato per aprire una nuova scheda
  • La maggior parte delle volte non utilizzo il navigatore, poiché ha uno stato diverso di cartelle aperte e chiuse in ogni scheda. Non utile per me. Quindi sono passato a usare Option ⌥ Command ⌘ O. Quando apro un file da questo elenco tengo ShiftOption ⌥premuto. Nella piccola finestra che appare scelgo "nuova scheda".
  • Quando faccio clic sui collegamenti nel codice ShiftOption ⌥ Command ⌘, premo anch'io e apro in una nuova scheda.

Tengo due schede fisse in giro per la modifica delle impostazioni relative al target e per visualizzare i risultati della build. Ho disabilitato completamente tutti i cambi di tab automatici nelle preferenze, perché ho notato che questo mi ha distratto molto.

Mi piacerebbe davvero avere qualcosa come la barra dei preferiti di xcode 3 in xcode 4, era così semplice da usare ..


2
Anche se questa non è una "soluzione" (non ce n'è per quanto ne so) ho apprezzato l'apprendimento di come aprire le schede tramite "apertura rapida" e facendo clic sui collegamenti nel codice. Noioso ma molto utile. Grazie.
ajmccall

8

Immagino che la mia risposta non scoppierà per un po ', ma se vuoi che funzioni come visual studio o intellij (o almeno più vicino)

Preferenze-> Generale-> Navigazione con doppio clic-> Utilizza una scheda separata

Fare doppio clic su un file ora interromperà l'apertura in una nuova finestra e lo aprirà in una nuova scheda.

Single è ancora stupido e prende il sopravvento sulla tua scheda. Ma se ti abitui al doppio clic (cosa che ero già) questo ti farà risparmiare qualche mal di testa. Credo.


Questa impostazione è stata già accennato in precedenza, vedi stackoverflow.com/a/6666097/239408 stackoverflow.com/a/11029748/239408
xverges

4

Odio assolutamente come funzionano le schede in Xcode. Tuttavia, l'unica soluzione alternativa che ho trovato che funziona in modo decente è utilizzare le scorciatoie delle schede OSX: CTRL + CMD + -> CTRL + CMD + <-


3

Ho trovato la mia strada in Preferenze-Comportamenti!

Ho odiato Xcode 4 prima per i problemi con le schede discussi qui, principalmente perché le informazioni di debug continuavano ad aprire nuovi file nelle schede e a cambiare il navigatore

in Behaviors puoi definire una scheda Debug e far saltare lì Run and Build in vari modi. nella scheda Debug do più spazio ai navigatori a sinistra e in basso

per ragioni simili ho anche una scheda Trova

le altre schede sono per i file in cui sto scrivendo. Le inizio con .h che di solito è abbastanza piccolo quindi ho bisogno di una sola vista, e poi con singoli clic nel navegator apro 2-3 versioni del file .cpp così Posso impostarli nelle posizioni in cui si trovano i punti caldi recenti nel file. poi chiudo i navigatori in quelle schede

questo non invalida la cura e i trucchi dati nelle altre risposte qui, ma li rende molto meno difficili

buona codifica!


3

Ho scoperto che premendo optionaka altquando si aprono i file nel navigatore, si salterà alla scheda già aperta con il file e si aprirà una nuova scheda nel caso in cui non fosse ancora aperta.

Questa tecnica funziona anche quando si aprono file tramite cmdshift- Oe si apre il suggerimento con option- enteranziché semplicemente enter...

Ora, se ci fosse un modo per renderlo predefinito, cioè la necessità di continuare a premere optiontutto il tempo verrebbe rimossa, sarebbe un grande passo avanti.

Inoltre utilizzo Behaviors per evitare che le mie schede vengano riciclate dopo i test o errori di compilazione.

(Come altre persone, mi dispiace totalmente il comportamento delle schede di Xcode. Apple dovrebbe dare un'occhiata a IntelliJ ...)


1
Questo è uno dei suggerimenti più utili per il riutilizzo delle schede esistenti. Lungi dall'essere una soluzione perfetta (a quanto pare non ce n'è una), ma aiuta!
Mason Lee

1

La barra delle schede di xcode fa schifo, penso che Apple dovrebbe migliorare la funzionalità della navigazione delle schede per evitare di seguire 3 punti. 1. Fare doppio clic su un file consentirà a xcode di aprire un'altra scheda se è già presente. 2. per più schede, la scheda diventerà piccola e quindi non so quale file in quale scheda, voglio che la scheda mostri il nome completo 3. per ancora più schede, le nuove schede saranno nascoste, invece di due righe di schede . Voglio che mostri due righe di barre di tabulazione.


0

Le schede in Xcode 4 funzionano come le schede altrove su Mac OS X, ad esempio in Safari e Terminal.


Innanzitutto, sto parlando dei criteri di apertura delle schede, non ha senso confrontare con applicazioni che non sono orientate al progetto . Il problema è che facendo clic sulla struttura ad albero del progetto si attiva un comportamento scomodo riguardo all'apertura delle schede.
sorin

2
Le schede in Xcode 4 si comportano come "schede reali" in quanto seguono le convenzioni stabilite per le schede nel resto del sistema operativo. Lo fanno in base alla progettazione. Puoi scegliere di fare clic su opzione o fare doppio clic per aprire qualsiasi cosa su cui hai fatto clic in una nuova scheda (o finestra) nelle preferenze Generali; non è possibile scegliere di fare clic con un solo clic per aprire una nuova scheda.
Chris Hanson

Più specificamente, se fai clic su un file nel navigatore del progetto, Xcode non "apre una scheda" e quindi "chiude quella scheda" quando fai clic su un altro file nel navigatore del progetto. Xcode mostra il file su cui hai fatto clic nell'editor principale della scheda corrente.
Chris Hanson

1
che ne dici di una scorciatoia da tastiera per ruotare tra le schede?
ming yeow

26
Voglio infantilmente downvote, perché odio come funzionano le schede! Mi rende tutto Grrrr. :-)
david van brink

0

Se hai la barra delle schede abilitata (Visualizza / Mostra barra delle schede) e fai doppio clic su un file, questo appare nella sua finestra, con una singola scheda ( assicurati che la barra delle schede sia abilitata sia nella nuova che nella vecchia finestra (principale) ).

Ora tutto ciò che devi fare è trascinare la nuova finestra dalla sua scheda e rilasciarla nella barra delle schede della finestra principale.

inserisci qui la descrizione dell'immagine

Rimarrà ancorato come una scheda separata, mostrando quel file.

Per modificare il file aperto in quella nuova scheda, vai su Project / Reveal in Project Navigator , che apre il navigatore di progetto sul lato sinistro.


3
È "tutto quello che devi fare" ogni volta? ;) Puoi definire (in Preferenze-> Comportamento) che il doppio clic debba aprirsi in una nuova scheda invece che in una nuova finestra, ma ciò non migliora ancora l'implementazione terribile delle schede in primo luogo.
devios1

Hai commentato ignorando la risposta di @Daniel, ma la tua risposta non tiene conto del fatto che quando fai clic su un file cambia il file che è aperto nella scheda corrente. Questo è diverso dalla maggior parte degli altri IDE e non ha senso.
0x6A75616E
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.