¿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;)

Gracias
fuente
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.
JWD
fuente
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

JavierGiovannini
fuente
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.

Nik
fuente
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
swiftBoy
fuente
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.

Joel
fuente
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.

Chowdhury Md Rajib Sarwar
fuente
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

MaxEcho
fuente
7

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

phatmann
fuente
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 ...

hariseldon78
fuente
2

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

Selección de sangría:

+ + +)

Selección sin sangría:

+ + +(

Neimsz
fuente
2

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

+ + [para no sangría

+ + ]para sangría

Jorge Casariego
fuente
2

El atajo para volver a sangrar es: control + i

atajo

Robson
fuente
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í

Compilador Alsh
fuente
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.

OlDor
fuente
1

Teclado danés

Unindent: + + 8

Sangría: + + 9

Jan Aagaard
fuente
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

elia
fuente
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.

Aashish
fuente
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 .

Jim Hillhouse
fuente
-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.

maquinista
fuente
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
-1

Tabulador para sangría MAYÚS + tabulación de sangría

dev_shanghai
fuente