¿Cómo puedo hacer que las pestañas funcionen normalmente en Xcode 4?

86

Xcode finalmente agregó pestañas pero el problema es que se comportan de manera muy extraña. Por ejemplo, mantendrán una pestaña abierta solo si se abrió en una nueva pestaña.

Si abre un archivo simplemente haciendo clic en el árbol del proyecto, Xcode cerrará su pestaña tan pronto como haga clic en otro archivo en el árbol.

¿Es posible hacer que se comporten como pestañas reales y evitar que Xcode las reutilice? ¿Cómo?

sorin
fuente
17
Yo también creo que la navegación de XCode es excéntrica y extraña. Pestañas, pero también cada pestaña tiene un historial, pero el historial no son solo archivos, son puntos dentro de archivos ... Moverse con el teclado es simplemente lo mejor. "Funciona como en Safari" no lo hace bueno ...
david van brink
1
@davidvanbrink No lo entiendo, ¿en qué se parece la interfaz de XCode a la película ?
bobobobo
1
Creo que j03m ha respondido correctamente a su pregunta
Błażej

Respuestas:

69

ACTUALIZACIÓN para 2020:

Finalmente, casi 10 años después, Xcode 12 beta 3 ahora parece resolver en su mayor parte el problema descrito aquí. Hay una nueva opción de estilo de navegación en el panel de configuración de navegación que controla este comportamiento.

Por supuesto, esto puede cambiar en versiones beta posteriores o en el lanzamiento final de Xcode 12.

El comportamiento tiene algunas peculiaridades / opciones de diseño nuevas que parecen tener sentido, pero todavía me estoy acostumbrando a la nueva experiencia. Por ejemplo, una pestaña se volverá a utilizar a menos que el archivo de esa pestaña se haya editado recientemente; dicha pestaña se indica con un título en cursiva .


RESPUESTA ANTERIOR

No creo que actualmente puedas obtener el comportamiento que deseas (o deseo). Si bien las pestañas funcionan como Safari, no funcionan como pestañas en otros IDE populares (Visual Studio o Eclipse). Y para mí este tipo de apesta.

En general, espero que las pestañas IDE mantengan abierto más de 1 archivo. Entonces, si hago clic en un archivo en el árbol del proyecto, espero que cambie a la pestaña que abrí con ese archivo, si ya lo abrí. En cambio, XCode 4 cambia la pestaña actual al archivo en el que hice clic, haciendo 2 pestañas con el mismo archivo. Tener 2 pestañas con el mismo archivo es bastante inútil.

Esto obliga al usuario a escanear la barra de pestañas primero para ver si el archivo está abierto actualmente; si no está abierto, puede consultar el árbol del proyecto. Pero si primero hace clic en el árbol del proyecto (que es lo que suelo hacer), será castigado porque acaba de eliminar una pestaña.

Daniel
fuente
1
Envíe un informe de error. Nombre de la ficha debe ser igual archivo actual en el que la lengüeta (!)
mda
13
XCode 6 todavía no maneja las pestañas como se esperaba :(
Ivan Marinov
1
¡Parece arreglado en XCode 7! Lo tengo configurado, por lo que el doble clic se abre en una nueva pestaña, y si el archivo ya está abierto, lo lleva a esa pestaña en lugar de a una nueva.
chiliNUT
1
chiliNUT. ¿Cómo estableció su escenario para este comportamiento? Cuando hago doble clic, abre el archivo en una nueva pestaña, incluso si ya tengo el archivo abierto en una pestaña existente.
andynil
XCode 10 todavía no maneja las pestañas como se esperaba :(
pingu
90

Utilizo un método similar a franks:

  • En Preferencias> Navegación (o Preferencias> General en las versiones de XCode anteriores a la 5) puede configurar la Navegación opcional para que use una pestaña separada
  • Ahora opte por hacer clic en un archivo en el navegador de archivos para abrirlo en una nueva pestaña
  • Mejor aún, optar por hacer clic en los enlaces del código abre el archivo de destino en una nueva pestaña

La gran característica que falta es cambiar a una pestaña ya abierta que contenga el archivo si hay uno (o permanecer en el actual).

drömsynt
fuente
Impresionante, esta respuesta me salvó, y también puedes configurar para hacer doble clic en abrir en una nueva pestaña
melanke
8
Está en la pestaña Navegación en Preferencias (podría ser un cambio en Xcode 5). Prefences -> Navegación -> Navegación opcional -> Utiliza pestaña
separada
¡Esto es exactamente lo que estaba buscando! Siempre he utilizado como IDE o VS PhpStorm que utilizaron pestañas y esto realmente me salvó
endurecidos
3
La gran característica que falta es cambiar a una pestaña ya abierta que contenga el archivo si hay uno (o permanecer en el actual). Deseo que esto se agregue
MistyD
3
Aún así, no me gusta el hecho de que puedo tener dos pestañas con el archivo sime abierto. No me gusta en absoluto el sistema de pestañas del espacio de trabajo en Xcode ...
Nuno Gonçalves
24

Esto no es realmente una respuesta en la medida en que contenga una solución; Sobre todo, solo quiero unirme a las quejas. Pero votar a favor te hará sentir mejor y demostrará que Apple está equivocado. :)

El problema con la implementación de pestañas de Xcode 4 es que Apple las ha implementado como pestañas de espacio de trabajo . En otras palabras, la creación de una nueva pestaña esencialmente crea un nuevo espacio de trabajo, cada uno con sus propios subpaneles con sus configuraciones, etc. Es esencialmente un entorno completo en cada pestaña. Hay varios problemas con esta elección.

Esto difiere de la implementación de pestañas de archivo de la mayoría de los editores de IDE / texto en la que una pestaña (generalmente) representa un solo archivo, y cada archivo tiene su propia pestaña.

El problema con las pestañas del espacio de trabajo es que hay un número limitado de espacios de trabajo diferentes de los que podríamos beneficiarnos, lo que limita severamente el uso real de las pestañas de esta manera. Más allá de esto, los espacios de trabajo adicionales simplemente se convierten en una desventaja, introduciendo más cosas que el usuario de la aplicación necesita preocuparse por sí mismo: por ejemplo, qué es la vista del navegador, qué modo de editor está activo (estándar, asistente, versión), si la consola de depuración está abierta, etc. etc. Cambiar repentinamente a una nueva pestaña significa que ahora tienes que preocuparte por que el entorno vuelva a estar en la forma que necesitas, porque existe una buena posibilidad de que la otra pestaña no se haya dejado en el estado en que Espere encontrarlo. En realidad, esto desalienta el uso de pestañas porque introduce más trabajo en el flujo de trabajo.

Las pestañas de archivo no tienen este problema (sin contar los casos especiales como los paneles de vista dividida) porque todo lo que está cambiando es el archivo que está viendo, no todo su entorno. Además, si se implementan correctamente, las pestañas de archivos funcionan muy bien como un historial inmediato, lo que permite volver rápidamente a un archivo en el que se trabajó recientemente, con poco esfuerzo. La única forma de hacer esto en Xcode es configurar explícitamente un nuevo entorno de pestaña para cada archivo con el que desea trabajar, pero debe tener cuidado de no cambiar el archivo en esa pestaña o su archivo de repente se perderá: de nuevo, más trabajo para el usuario.

Las pestañas del espacio de trabajo también pesan mucho más que las pestañas de los archivos, porque hay mucho más que recordar y cambiar de espacio de trabajo implica mucho más que cambiar de archivo.

La verdad es (y creo que la mayoría estará de acuerdo conmigo en esto), para un desarrollador, las pestañas de archivos son mucho más útiles que las pestañas del espacio de trabajo, y tal como está, Xcode aún carece de una implementación adecuada de esta característica que muchos considerarían la funcionalidad básica requerida. en un IDE / editor.

devios1
fuente
18

Xcode->Preferences->General->Double Click Navigationy de la lista, elija Uses Separate Tab.

Luca
fuente
4
En XCode 5 vas aPreferences->Navigation->Double Click Navigation
Gerard
17

Bueno, no es una respuesta real, sino mi solución personal. El verdadero problema para mí es que un archivo abierto en una pestaña desaparece tan fácilmente en xcode 4. Encontrar un archivo de nuevo puede llevar mucho tiempo, así que me gusta que estén en una pestaña y permanezcan allí.

Resolví esto (de alguna manera) identificando exactamente las acciones que hago que hacen que la pestaña cambie a otro archivo y las reemplace por sus acciones equivalentes que abren una nueva pestaña.

  • En lugar de hacer un solo clic en un archivo en el navegador, siempre hago doble clic en el que he configurado para abrir una nueva pestaña
  • La mayoría de las veces no uso el navegador, ya que tiene un estado diferente de carpetas abiertas y cerradas en cada pestaña. No es útil para mí. Así que cambié a usar Option ⌥ Command ⌘ O. Al abrir un archivo de esta lista lo mantengo ShiftOption ⌥presionado. En la pequeña ventana que aparece, elijo 'nueva pestaña'.
  • Al hacer clic en los enlaces en el código ShiftOption ⌥ Command ⌘, también presiono y abro en una nueva pestaña.

Mantengo dos pestañas fijas para editar la configuración relacionada con el objetivo y ver los resultados de la compilación. Inhabilité por completo todos los cambios automáticos de pestañas en las preferencias, porque noté que esto me distraía mucho.

Realmente me encantaría obtener algo como la barra de favoritos de xcode 3 en xcode 4, esto fue muy fácil de usar.

franco
fuente
2
Aunque esta no es una "solución" (por lo que puedo decir, no hay ninguna), aprecié aprender a abrir pestañas a través de "apertura rápida" y hacer clic en enlaces en el código. Tedioso pero muy útil. Gracias.
ajmccall
8

Imagino que mi respuesta no brotará por un tiempo, pero si quieres que esto funcione como visual studio o intellij (o al menos más cerca)

Preferencias-> General-> Navegación con doble clic-> Utiliza una pestaña separada

Hacer doble clic en un archivo ahora dejará de abrirlo en una nueva ventana y lo abrirá en una nueva pestaña.

Soltero sigue siendo tonto y se hace cargo de su cuenta. Pero si te acostumbras a hacer doble clic (que ya estaba haciendo) esto te ahorrará algunos dolores de cabeza. Supongo.

j03m
fuente
Esta configuración ya se mencionó anteriormente, consulte stackoverflow.com/a/6666097/239408 stackoverflow.com/a/11029748/239408
xverges
4

Odio absolutamente cómo funcionan las pestañas en Xcode. Sin embargo, la única solución que encontré que funciona decente es usar los atajos de las pestañas de OSX: CTRL + CMD + -> CTRL + CMD + <-

mithun_daa
fuente
3

¡Encontré mi camino en Preferencias-Comportamientos!

Odié Xcode 4 primero por los problemas de pestañas discutidos aquí, principalmente porque la información de depuración seguía abriendo nuevos archivos en pestañas y cambiando el navegador

en Comportamientos puede definir una pestaña Depurar y hacer que Ejecutar y compilar salte allí de varias maneras. en la pestaña Depurar doy más espacio a los navegadores a la izquierda y abajo

por razones similares, también tengo una pestaña Buscar

las otras pestañas son para archivos en los que estoy escribiendo. Empiezo con el .h, que suele ser lo suficientemente pequeño, por lo que solo necesito una vista, y luego, con un solo clic en el navegador, abro 2-3 versiones del archivo .cpp Puedo configurarlos en las ubicaciones donde se encuentran los puntos calientes recientes en el archivo. luego cierro los navegadores en esas pestañas

esto no invalida el cuidado y los trucos dados en las otras respuestas aquí, pero los hace mucho menos difíciles

codificación feliz!

Matthias Grob
fuente
3

Descubrí que al presionar optionakaalt al abrir archivos en el navegador, saltará a la pestaña ya abierta con el archivo y se abrirá una nueva pestaña en caso de que aún no esté abierta.

Esta técnica también funciona al abrir archivos a través de cmdshift, Oy al abrir la sugerencia con option, enteren lugar de simplemente enter...

Ahora, si hubiera alguna forma de hacer que esto sea el predeterminado, es decir, optionse eliminaría la necesidad de seguir presionando todo el tiempo, eso sería un gran paso adelante.

También utilizo Behaviors para evitar que mis pestañas sean recicladas después de una prueba o fallas en la construcción.

(Como a otras personas, no me gusta el comportamiento de las pestañas de Xcode. Apple debería echarle un vistazo a IntelliJ ...)

Hendrik
fuente
1
Esta es una de las sugerencias más útiles para la reutilización de pestañas existentes. Lejos de ser una solución perfecta (aparentemente no la hay), ¡pero ayuda!
Mason Lee
1

La barra de pestañas de xcode es tan mala, creo que Apple debería mejorar la función de navegación de pestañas para evitar los 3 puntos seguidos. 1. Haga doble clic en un archivo para que xcode abra otra pestaña si ya ha estado allí. 2. para más pestañas, la pestaña se volverá pequeña y, por lo tanto, no sé qué archivo en qué pestaña, quiero que la pestaña muestre el nombre completo 3. para aún más pestañas, las pestañas nuevas se ocultarán, en lugar de dos líneas de pestañas . Quiero que muestre dos líneas de barras de pestañas.

libras semanales
fuente
0

Las pestañas en Xcode 4 funcionan como pestañas en otros lugares de Mac OS X, por ejemplo, en Safari y Terminal.

Chris Hanson
fuente
Primero, me refiero a los criterios de apertura de pestañas, no tiene sentido comparar con aplicaciones que no están orientadas a proyectos . El problema es que hacer clic en el árbol del proyecto desencadena un comportamiento incómodo con respecto a la apertura de pestañas.
sorin
2
Las pestañas en Xcode 4 se comportan como "pestañas reales" en el sentido de que siguen las convenciones establecidas para las pestañas en el resto del sistema operativo. Lo hacen por diseño. Puede optar por hacer clic con la opción o hacer doble clic para abrir lo que haya hecho clic en una nueva pestaña (o ventana) en las preferencias generales; no puede optar por abrir una nueva pestaña con un solo clic.
Chris Hanson
Más específicamente, si hace clic en un archivo en el navegador de proyectos, Xcode no "abre una pestaña" y luego "cierra esa pestaña" cuando hace clic en otro archivo en el navegador de proyectos. Xcode muestra el archivo en el que hizo clic en el editor principal de la pestaña actual.
Chris Hanson
1
¿Qué tal un atajo de teclado para rotar entre pestañas?
ming yeow
26
Infantilmente quiero votar en contra, ¡porque odio cómo funcionan las pestañas! Me hace todo Grrrr. :-)
david van brink
0

Si tiene la barra de pestañas habilitada (Ver / Mostrar barra de pestañas) y hace doble clic en un archivo, aparecerá en su propia ventana, con una sola pestaña ( asegúrese de que la barra de pestañas esté habilitada tanto en la ventana nueva como en la antigua (principal) ).

Ahora todo lo que tienes que hacer es arrastrar esa nueva ventana desde su pestaña y soltarla en la barra de pestañas de tu ventana principal.

ingrese la descripción de la imagen aquí

Permanecerá acoplado como una pestaña separada, mostrando ese archivo.

Para cambiar el archivo abierto en esa nueva pestaña, vaya a Proyecto / Revelar en el Navegador de proyectos , que abre el navegador de proyectos en el lado izquierdo.

bobobobo
fuente
3
¿Es eso "todo lo que tienes que hacer" todas y cada una de las veces? ;) Puede definir (en Preferencias-> Comportamiento) que al hacer doble clic se abra en una nueva pestaña en lugar de en una nueva ventana, pero eso aún no mejora la horrible implementación de las pestañas en primer lugar.
devios1
Comentó que ignora la respuesta de @ Daniel, pero su respuesta no aborda el hecho de que cuando hace un solo clic en un archivo, cambia el archivo que está abierto en la pestaña actual. Esto es diferente a la mayoría de los otros IDE y no tiene sentido.
0x6A75616E