¿Sangría de código en Sublime text 2?


Respuestas:


843

Puede encontrarlo en EditLineReindent, pero no tiene un acceso directo por defecto. Puede agregar un acceso directo yendo al menú PreferencesKeybindingsUser, luego agregue allí:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

(ejemplo de uso de la F12clave para esa funcionalidad)

Los archivos de configuración usan la sintaxis JSON, por lo que estas llaves deben colocarse separadas por comas en los corchetes que están allí por defecto. Si todavía no tiene ninguna otra combinación de teclas, su archivo Keybindings→ completo Userse vería así, por supuesto:

[
    { "keys": ["f12"], "command": "reindent", "args": {"single_line": false}}
]

28
alt + tab? eso se usa para cambiar ventanas!
Bernd Elkemann

1
¡Uy! Muestra que estoy en una Mac. Tal vez la pestaña windows_key +?
gdelfino

3
@ NunoGonçalves el menú no muestra el nuevo acceso directo, pero debería funcionar. asegúrese de que sus Preferencias - Asignaciones de teclas - Usuario contengan exactamente esas líneas y guarde ese archivo . También asegúrese de que ST sepa qué tipo de archivo / sintaxis debe usar (¿su resaltado de sintaxis es correcto?). Si todavía no funciona, intente con una clave diferente (por ejemplo, "f8" parece no utilizado), entonces, si eso no funciona, compruebe si las asociaciones de teclas definidas por el usuario están deshabilitadas en su instalación por alguna razón.
Bernd Elkemann

2
Al no haber hecho nada, de repente comenzó a funcionar. :) Supongo que el problema fue entre el teclado y la silla todo el tiempo :) Gracias de todos modos. :)
Nuno Gonçalves

1
{"keys": ["f12"], "command": "reindent", "args": {"single_line": false}} reindentará todo el documento sin necesidad de seleccionar lo que desee
Alexis

277

El comando reindent solo funciona en las líneas seleccionadas actualmente a menos que el argumento "single_line" esté establecido en false.

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }

Ahora, presionar f12reindentará todo el documento.


2
"línea actual" puede ser una selección con múltiples líneas.
gagarine

44
Esta debería ser la respuesta aceptada (o al menos fusionada con la aceptada), ya que en Visual Studio Ctrl + K + D también formateará todo el documento.
Jedidja

14
cambie ["f12"] por ["ctrl + k", "ctrl + d"] por el acorde de dos pulsaciones.
Fabian Tamp

25
[{"teclas": ["ctrl + shift + f"], "comando": "reindent", "args": {"single_line": false}}] Esta es mi personalización, ¡muchas gracias!
duykhoa

1
Gracias por el "más" ("args": {"single_line": false}) muy útil!
Arthur

32

Parece que a nadie le encanta la sangría de mac, así que aquí cómo lo hago:

[
   { "keys": ["command+shift+i"], "command": "reindent"}
]

En Preferencias> Enlace de teclas - Usuario

Un consejo adicional más: agregar

{ "keys": ["command+0"], "command": "focus_side_bar" }

tener navegación de vista de árbol de archivos de barra lateral usando el teclado.

Nota: Agregue, al final de cada {}, si tiene más de un {} conjunto de objetos


por favor no use la coma (,) al final de la declaración. Me dio un error.
Escríbelo

1
si no es usuario de Mac, use ctrl en lugar del comando {"teclas": ["ctrl + shift + i"], "comando": "reindent"}
Juraj Petrik

29

No hay un acceso directo predeterminado para reindentificar un archivo. Sin embargo, puede crear uno siguiendo eznme la respuesta anterior de .

También puede usar la Paleta de comandos presionando:

  1. Control+ Shift+ P(o + Mayús +P en una Mac)
  2. Escriba los primeros caracteres de Reindent, por ejemplo:rein
  3. Presione Enterpara ejecutar el comando
    (El primer comando en la parte superior ahora debería mostrar Sangría: Líneas Reindent )

19

Para aquellos interesados, es fácil de cambiar, pero para un amante de Netbeans y el formateo automático, puede cambiar la combinación de teclas de F12a ctrl+ shift+ Fpara usar su querida combinación de teclas. La parte triste es que tienes que seleccionar todo para formatear todo el archivo. Netbeans todavía tiene la ventaja sobre eso. Si alguien sabe cómo superar esa limitación, soy todo oídos. De lo contrario, feliz reintroducción (auto-formateo).


44
No estoy seguro si alguien todavía está mirando esto, pero para responder a @jeff. Use "args": {"single_line": false} después de agregar el comando y luego no necesita seleccionar líneas para formatearlo. Formatea todo el documento por ti. (Nick ha puesto el comando tonto)
Mr H

El acceso directo de NetBeans es Alt + Shift + F (por defecto; Ctrl + Shift + F abre Project Search), y es limitado y no necesariamente sensible (CSS no funciona, y puede mantener nuevas líneas de código en la misma línea). El acceso directo de Eclipse es Ctrl + Shift + F, y es mejor en algunos aspectos, y funciona en CSS, pero aún tiene un problema con las nuevas líneas de código. Ambos tienen algunos problemas con las nuevas líneas para los atributos de la línea interna (como en HTML), aunque puede configurar algo (más en Eclipse).
Davicus

cmd + a en mac o ctrl + a en windows seleccionará automáticamente todo el texto por usted en la ventana actual. así que hazlo, y luego cualquier enlace de teclas que elijas para la sangría automática para formatear todo el archivo.
user137717

16

Para sangrar con las mismas teclas como Visual Studio Ctrl+ K+ D(soy un usuario de Visual Studio, así que estoy acostumbrado a esta combinación) sugiero:

[
{ "keys": ["ctrl+k", "ctrl+d"], "command": "reindent", "args": {"single_line": false} }
]

Escriba esto en Preferencias> Vinculaciones de teclas - Usuario



6

Netbeans como la tecla de acceso directo

Ir a Preferences> Key Bindings> Usery añadir el código de abajo:

[
    { "keys": ["ctrl+shift+f"], "command": "reindent", "args": {"single_line": false} }
]

Uso

Ctrl+ Shift+F


6

Seleccione todo el código que desea sangrar, luego presione Ctrl+] en Sublime text para sangrar.

Para usuarios de macOS, use command+ ]para sangrar y command+ [para desangrar.


4

formateador de código .

fácil de usar.


1.Instalar


2. Presione ctrl+ alt+ f(predeterminado)


Eso es.


no funciona para mí, simplemente desactiva la sangría en todas las líneas.

Lo estoy usando desde hace bastante tiempo. Está funcionando bien. ¿Cuál es el problema? ¿La instalación fue exitosa?
HIRA THAKUR

1
Por supuesto que sí, lo estoy usando contra fragmentos de HTML ... todas las líneas han eliminado sus sangrías.


2

En caso de que esto deje de funcionar para alguien como yo, en OS X, la tecla de comando se identifica como superasí debería poder hacer algo como esto:

[
    {
    "keys": ["super+i"], 
    "command": "reindent", 
    "args": {
        "single_line": 
        false}
    } 
]

en este caso usar command+ iva a sangrar todo el código (eclipse como :))


1

Solía ​​usar Alt+ Shift+ Fen NetBeans, lo comprobé y no hay ninguna colisión en la matriz de mapas de teclas predeterminada de sublime, así que lo agregué a mi sublime y lo estoy usando sin ningún problema.


1

Para aquellos a quienes les gusta el enlace de teclas predeterminado para IntelJ IDEA , seleccione Preferencias > Configuración - Usuario :

ingrese la descripción de la imagen aquí

Y pegue lo siguiente para tener el acceso directo command+ shift+ lpara la sangría automática:

[
   { "keys": ["command+shift+l"], "command": "reindent"}
]

1

Puede agregar un acceso directo yendo al menú PreferenciasAsignaciones de teclasUsuario , luego agregue allí:

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  

0

Para el formateo automático en Sublime Text 2: instale el paquete: etiquete desde la paleta de comandos, luego vaya a Edición -> Etiqueta -> Etiquetas de formato automático en el documento


0

Seleccione todo, o lo que quiera volver a sangrar y haga Alt+ E+ L+ R. Esto es realmente rápido e indoloro.


0

Esta es mi configuración para sublime-keymap:

[
  {
    "keys": [",+=+="],
    "command": "reindent",
    "args": {
      "single_line": false
    }
  }
]

Para las personas vim , solo use ,==para reindentar todo el archivo.


0
{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} } 

Puede obtener la opción reindent usando el código anterior


0

Primero abre el texto sublime.
que las preferencias abiertas .
que abrir enlaces de teclas -Usuario .
que poner el siguiente código

[{"teclas": ["ctrl + shift + c"], "comando": "reindent"},]

yo suelo CtrlShiftC y tú también usas otra tecla de atajo.

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.