Cómo sangrar / formatear una selección de código en Visual Studio Code con Ctrl + Shift + F

110

Quiero sangrar una sección específica de código en Visual Studio Code.

Leí ¿Cómo se formatea el código en Visual Studio Code? eso proporciona atajos para sangrar todo el código, pero no funciona cuando se selecciona una sección específica de código.

Intenté Ctrl+ Shift+ Fdespués de seleccionar alguna línea en mi código, pero todo el archivo está sangrado. Estoy en Windows con Visual Studio Code Insider 1.8.0. ¿Cómo puedo hacerlo?

Damien Leroux
fuente

Respuestas:

177

Quiero sangrar una sección específica de código en Visual Studio Code:

  • Seleccione las líneas que desea sangrar y
  • use Ctrl+ ]para sangrarlos.

Si desea formatear una sección (en lugar de sangrarla):

  • Seleccione las líneas que desea formatear,
  • use Ctrl+ K, Ctrl+ Fpara formatearlos.
Shaun Luttin
fuente
7
Shift + Alt + F también se puede usar para formatear (plataforma Windows)
SridharKritha
2
¿Y OSX?
GreenAsJade
3
@GreenAsJade En MacOS, Cmd+ ](sangría) y Cmd+ [(sin sangría) me funcionan.
Alex Johnson
2
@AlexJohnson lo siento, estaba preguntando qué pasa con las líneas seleccionadas en formato OSX .
GreenAsJade
1
@GreenAsJade en MacOS, el formato de las líneas seleccionadas es Cmd+ K Cmd+ F
Bogatyr
123
  • también puede sangrar una sección completa seleccionándola y haciendo clic en TAB
  • y también sangría hacia atrás usando Shift+TAB

Y, por supuesto, para la sangría automática y el formateo, siguiendo el idioma que está utilizando, puede ver qué buenas extensiones hacen un buen trabajo y qué formateadores instalar o qué parámetros de configuración habilitar o establecer para cada idioma y sus herramientas disponibles. Solo asegúrate de leer bien la documentación de la extensión, para instalar y configurar todo lo que necesita.

Hasta ahora, el problema de la sangría me molesta con Python al copiar y pegar un bloque de código. Si ese es el caso, así es como lo resuelve: Sangría de código de Visual Studio para Python

Mohamed Allal
fuente
4
esto no funciona en VS Code para mí, presionar la pestaña mientras se selecciona el texto simplemente agrega una pestaña donde está mi cursor
Abe Fehr
1
Creo que seleccionó solo una parte del texto de una línea. Para que eso funcione, tiene también casos: ha seleccionado varias líneas y, en tal caso, no importa cuánto haya seleccionado, funcionará. El otro caso es seleccionar toda la línea donde también funcionará. Si selecciona solo una parte de una línea, el comportamiento es que se insertará una pestaña en lugar del texto seleccionado. Lo probé tanto en sistemas Windows como Linux. Confirme si es lo mismo con usted, o si hay algún problema con su configuración.
Mohamed Allal
9

En OS X, elija "Formato de documento" y seleccione todas las líneas que necesite formatear.

Entonces Option+ Shift+ F.

Adrián Romero
fuente
Esta es la respuesta correcta. No entiendo por qué hay más de 50 votos a favor para algo que no responde a la pregunta. Posiblemente Bots ????
Wildhammer
3
Esto parece hacer todo el archivo, no la selección :(
GreenAsJade
Funciona correctamente. Tengo un macbook air 2019, el teclado es diferente al anterior (solía CMD + [o]). He estado buscando este atajo para el nuevo teclado. Y es exactamente lo que estaba buscando. También funciona para una selección. Gracias.
LuizEduardoMPF
3

(Esto funciona al menos hasta la versión 1.45.0, 7 de mayo de 2020)


En macOS Visual Studio Code, versión 1.36.1 (2019)

Visual Studio Code, versión 1.36.1 (2019)

Para formatear automáticamente la selección, use ⌘K ⌘F (el truco es que esto debe hacerse en secuencia, ⌘K primero, seguido de ⌘F).

Selección o documento de formato automático

Para sangrar (desplazar a la derecha) sin formateo automático, use ⌘]

Opciones de sangría

Como en Atajos de teclado (⌘K ⌘S, o desde el menú como se muestra a continuación)

Atajos de teclado

auspicioso99
fuente
1
Gracias por el "truco". ¡Me estaba volviendo loco porque el atajo alt/option + fsolía funcionar! Y de repente fue reemplazado por el carácter `̰`. ¡Muy molesto!
Glenn
Me alegro de que te haya ayudado, Glenn.
auspicious99
3

Esto debería poder establecerse en las combinaciones de teclas que desee para sangría / sangría aquí:

Menú ArchivoPreferenciasAtajos de teclado

editor.action.indentLines

editor.action.outdentLines

ooXei1sh
fuente
¡gracias! Estaba buscando los atajos de teclado dedent(que usamos en nuestro código base), pero es outdent. Gracias.
sming el
1

F1 → abre Atajos de teclado → busca 'Línea de sangría' y cambia la combinación de teclas a Tab.

Haga clic derecho> "Cambiar cuando expresión" para editorHasSelection && editorTextFocus && !editorReadonly

Le permitirá sangrar una línea cuando se seleccione algo en esa línea (aún funcionan varias líneas).

nevrast
fuente
"F1"? ¿Te refieres al menú ArchivoPreferencias ?
Peter Mortensen
Me refería a abrir la paleta de mando. Olvidé su nombre y acabo de recordar el atajo predeterminado, ¡lo siento!
nevrast
0

Para mí en las ventanas era Ctrl+¡, línea de guión . Agrega una pestaña al principio de cada línea.

cladelpino
fuente