¿Cómo puedo sangrar varias líneas en Xcode?


609

Cuando selecciono varias líneas de código y quiero sangrarlas como de costumbre con la TABtecla, simplemente las borra todas. Vengo de Eclipse, donde siempre lo hice de esa manera. ¿Cómo se hace eso en Xcode? Espero no línea por línea;)


146
Desearía que la tecla Tab hiciera esto en Xcode.
devios1

1
¿Alguien sabe si puede reasignar la tecla de tabulación a este comportamiento?
Gerard

1
Es divertido porque estoy bastante seguro de que pude usar Tab para la sangría correcta antes. Solo un día dejó de funcionar ...
dVaffection

Respuestas:


926

Los atajos de teclado son + ]para sangrar y + [para desangrar.

  • En la ventana de preferencias de Xcode, haga clic en el botón de la barra de herramientas Vinculaciones de teclas. La sección Vinculaciones de teclas es donde personaliza los atajos de teclado.

41
Tenga en cuenta que estas son combinaciones de teclas de Mac OS X de uso común, por lo que puede aplicar sangría usando CMD-] y CMD- [en, por ejemplo, Mail.app.
Gregory Cosmo Haun

8
Algunas aplicaciones que también se ejecutan en otros sistemas operativos usan TAB y SHIFT + TAB en su lugar, como eclipse y cualquier derivado
Aram Kocharyan

41
Además, Ctrl + I reinventa todo su código en el editor activo en función de sus preferencias de edición de texto en Xcode.
ozgur

20
Gracias por ese consejo, no lo sabía. Frustrantemente, en los teclados alemanes, no hay tecla [o], por lo tanto, para sangrar, debe mantener CMD + ALT + 6 para sangrar. Dios, extraño Visual Studio a veces ...
Mike Gledhill

77
Los teclados franceses deberían ser lo peor, creo: ctrl + alt + shift + ')'. Cuatro estúpidas claves para sangrar unas pocas líneas. Eso es tan malo como puede ser.
Aurelien Ribon

55

Seleccione su código para reiniciar, luego vaya a

Editor -> Estructura -> Re-sangría


77
-1: La pregunta era cómo sangrar un bloque de líneas, no cómo sangrarlo automáticamente con XCode. En mi humilde opinión, esta es una gran diferencia.
Atmocreations

3
no es la respuesta correcta, ¡pero es un recordatorio útil de todos modos!
FredericK

No te olvides de '⌘ + A' antes de hacerlo
OhadM

47

+ [y + ]son equivalentes a shift+taben Xcode.


8
Se aplica a varias líneas si tiene varias líneas seleccionadas en el momento.
Nik

34

Aquí están los atajos, para formatear el código en XCode

  1. Formatear el código completo (toda la clase / controlador)

    Seleccione el código completo y presione control+ I en mac para formatear su código.

  2. Formatear un bloque de código particular

    Seleccione el código y presione:

    • + ]para movimiento correcto (sangría)
    • + [para movimiento a la izquierda (sin sangría)

Nota: según la sugerencia de @JavierGiovannini, puede hacerlo con la opción del menú Editor

  1. Seleccione su código y navegue a Editor> Estructura> Volver a sangrar

3
1. Debería ser Ctrl + I
JBaczuk

1
Es ctrl + i !!! ¡Las letras l (minúscula L) e I (mayúscula i) se ven iguales! Por favor use minúsculas. No puedo editar esta publicación debido a la inexplicable restricción de 6 caracteres de SO.
catanore el

12

Otra forma de reformatear rápidamente la sangría es cortar y pegar rápidamente. + xy + v. A menudo lo encuentro más rápido que + [o +, ]ya que puedes hacerlo con una mano (frente a dos) y se reformateará al nivel de sangría correcto en una sola toma.


En mi opinión, debe compararlo con + Ique "lo sangra automáticamente con XCode", no solo "sangra un bloque de líneas".
Franklin Yu

Esto también funciona para nosotros que no funciona en un teclado americano :)
Christoffer

11

Primero, seleccione todo el código usando command+a

Segundo, mantenga presionada la tecla ctry luego presionei

todo el código seleccionado sangrará muy bien.


estupendo ! (teclado de PC)
usuario1105951

10

Si utiliza la sinergia (para compartir un teclado para dos PC) y la PC (MAC) en la que está utilizando xcode es esclava, y la PC maestra es PC con Windows

los atajos de teclado son alt+ ]para sangrar y alt+ [para desangrar.

Actualizar:

Pero desde sinergia versión 1.5 trabajando + [para sangría y + ]para no sangría


7

En Xcode 9, finalmente puede usar Tab y Shift + Tab para sangrar múltiples líneas de código. ¡Hurra!


3

Seleccione "Tecla Tab: Sangría siempre" en Preferencias-> Edición de texto-> Sangría. Luego puede sangrar una sola línea o una selección de líneas presionando TABo SHIFT+ TAB Lamentablemente, esto elimina por completo la posibilidad de insertar pestañas donde desee, y entra en conflicto con la tecla de tabulación que se usa para cambiar entre "campos de autocompletar".

Supongo que necesitamos más teclas de tabulación en el teclado, una no es suficiente ...


2

Para todos los Xcoders franceses, las combinaciones de teclas predeterminadas son las siguientes:

Selección de sangría:

+ + +)

Selección sin sangría:

+ + +(


2

Para aquellos de ustedes con teclado español en mac, estos son los accesos directos:

+ + [para no sangría

+ + ]para sangría


2

El atajo para volver a sangrar es: control + i

atajo


Aunque le agradecemos su respuesta, sería mejor si proporcionara un valor adicional además de las otras respuestas. En este caso, su respuesta no proporciona un valor adicional, ya que otro usuario ya publicó esa solución. Si una respuesta anterior fue útil para usted, debe votarla en lugar de repetir la misma información.
Toby Speight

Gracias Rob! Súper servicial
Felipe

1

Aquí todos los atajos importantes de otra pregunta respondida en el desbordamiento de la pila aquí


1

Si desea volver a asignar el nivel de Xcode + [a TAB, puede hacer lo siguiente:

  1. Instale un programa llamado "Karabiner".

  2. Vaya a Preferencias ~> "Misc y desinstalar"

  3. En la sección "Configuración personalizada", haga clic en el botón "Abrir private.xml"

  4. Abra el archivo y reemplace su contenido con el siguiente código:

    <?xml version="1.0"?> 
    <root>
        <item>
            <name>Tab instead of Command+[</name>
            <identifier>private.swap_tab_and_cmnd+[</identifier>
            <autogen>
                __KeyToKey__
                KeyCode::TAB, ModifierFlag::NONE,
                KeyCode::BRACKET_RIGHT, ModifierFlag::COMMAND_L | ModifierFlag::NONE
            </autogen>
        </item> 
    </root>
  5. Vaya a Preferencias ~> "Cambiar clave" ~> haga clic en el botón "Recargar XML"

  6. Marque la casilla de verificación llamada "Tabulador en lugar de Comando + ["

  7. Disfrutar

ingrese la descripción de la imagen aquí

PD: Tenga en cuenta que esta configuración funciona globalmente en su máquina, no solo en Xcode. Sin embargo, estoy seguro de que Google podría ayudarlo a encontrar una solución para personalizarlo aún más, aplicando los cambios solo a Xcode.



1

Básicamente [para sangría múltiple izquierda y ]sangría múltiple derecha.

Para TRel teclado se puede izquierda múltiple con guión 8y guión múltiples derecha con 9.Debido a la vez 8y 9son ALTpersonajes de la nums.Or éstos si tiene un teclado que tiene [o ]personajes son pertenecen a ALT( a) Propiedad manera puede utilizar KEYBOARD CHARACTER


Muchas gracias.
Arpit B Parekh

1

Tecla de acceso directo:

Ctrl + I

NOTA: Seleccione los códigos para volver a sangrar y presione 'control' e 'i' en su Mac.


0

Como no vi una actualización de esta pregunta para la versión actual de Xcode, pensé agregar que en Xcode 9.3, Tab funciona para sangrar las líneas de texto seleccionadas, así como para pasar de un campo de autocompletado a otro .


-1

En Xcode 4.2, la sangría automática es bastante buena. Ahora puede sangrar una selección de código presionando la tecla Tab. Creo que Xcode generalmente formatea el código realmente bien automáticamente, y rara vez tiene que mover las cosas a su alrededor. Me resulta más rápido seleccionar un fragmento de código, hacer clic con el botón derecho y elegir Estructura -> Volver a sangrar si algún código parece desordenado.


44
Creo que no ha utilizado ningún otro editor de código, excepto xcode en su vida. xCode autoCodeFormatting es lo peor.
Add080bbA

No funciona en XCode 8.3. No sé si alguna vez lo hizo.
Steve

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.