¿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}}
]
Bernd Elkemann
fuente
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.

Mella
fuente
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

star18bit
fuente
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 )
TrinitronX
fuente
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).

JeffBaumgardt
fuente
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

Sergio López
fuente
7

Es muy simple. Solo ve aEdit=>Line=>Reindent

Junan Chakma
fuente
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

Adrián Enríquez
fuente
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.

MindBrain
fuente
4

formateador de código .

fácil de usar.


1.Instalar


2. Presione ctrl+ alt+ f(predeterminado)


Eso es.

HIRA THAKUR
fuente
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

Además de la función 'reindent' incorporada, también puede instalar otros complementos, como SublimeAStyleFormatter y CodeFormatter . Estos complementos son mejores para su idioma específico.

Jon
fuente
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 :))

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

Eduardo
fuente
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"}
]
Yuchen Zhong
fuente
1

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

{ "keys": ["f12"], "command": "reindent", "args": {"single_line": false} }  
Amor kumar
fuente
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

evanjw
fuente
0

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

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

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

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

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

Er CEO Vora Mayur
fuente