Ajustar automáticamente las líneas en la columna en VSCode

105

¿Cómo puedo ajustar automáticamente las líneas en VSCode? Con eso quiero decir que si una línea llega a una columna específica, inserte automáticamente una nueva línea en el límite de la palabra más cercano a esa columna sin pasar. Vim tiene una configuración llamada textwidth que hace esto y me gusta usar cuando edito Markdown. No parece que VSCode lo haga, por lo que puedo decir. Solo tiene formas de controlar la envoltura por software.

Brian Schlenker
fuente
2
¿Alguien podría responder esto ya?
umayfindurself
Su uso de esto con respecto a las rebajas es brillante, nunca pensé en usar golpes duros como ese.
Mark Carpenter Jr

Respuestas:

143

VSCode no admite esto de forma inmediata. Pero puede instalar la Rewrapextensión, que le permite formatear el bloque en el que se encuentra actualmente su cursor presionando Alt+ Q.

Rewrap no requiere más configuraciones, ya que lee las configuraciones de VSCode para obtener la columna en la que romper.

Rewraptambién admite envoltura automática (desactivada de forma predeterminada): https://github.com/stkb/Rewrap/wiki/Auto-wrap

oli_obk
fuente
2
Marcando esto como la respuesta aceptada y editando para mencionar que ahora es compatible con el reenvío automático.
Brian Schlenker
1
¿Parece que esto es solo para comentarios de bloque? ¿qué pasa con las líneas de código? Probé la última versión que es 1.9.1 y los comentarios de bloque se envuelven automáticamente, sin embargo, para las líneas de código (estoy usando lenguaje C) no es así.
Yusuf Husainy
3
Vale la pena mencionar que funciona muy bien con MarkDown ❤
chesterbr
2
No puedo envolver líneas de código con ReWrap como señaló @YusufHusainy.
Fawwaz Yusran
39

Desafortunadamente, VSCode aún no tiene esta función. Pero, todavía podemos hacer que sea lo más cercano a la hermosa característica de ajuste automático de palabras de vim .


Primer paso

Necesitamos configurar la función de ajuste de palabras suaves en VSCode.

  1. Abra la configuración de VSCode a través de Code => Preferences => Settings.
  2. Agregue estas 3 líneas de configuración del editor.

    "editor.wordWrap": "wordWrapColumn",
    "editor.wrappingIndent": "same",
    "editor.wordWrapColumn": n

    No olvide cambiar ( n ) con su longitud preferida de línea de columnas. Para mí, me siento más cómodo poniéndolo en 60.

  3. Guarde esta configuración.

El propósito principal de este primer paso es hacernos sentir más cómodos cuando escribimos porque no necesitamos escribir manualmente Entery ver una línea larga de texto.


Segundo paso

Necesitamos instalar la emulación Vim para VSCode y configurar vim textwidth.

  1. Instale la emulación de Vim a través de extensiones VSCode.
  2. Abra la configuración de VSCode a través de Code => Preferences => Settings.
  3. Agregue esta línea de configuración de vim.

    "vim.textwidth": n,

    No olvide cambiar ( n ) con su longitud preferida de línea de columnas. Para mí, estableceré que esto sea lo mismo que ( n ) en el primer paso.

  4. Guarde esta configuración.


Uso actual

Cuando termine de escribir todo el documento, puede formatearlo para que sean líneas ajustadas de esta manera.

  1. Bloquear todo el texto usando el modo de línea visual ( Shift+ v)
  2. Escriba 'gq'
Wanda Ichsanul Isra
fuente
Dices "todavía". ¿Conoce algún plan o trabajo en curso?
oli_obk
No, no estoy seguro. Tengo un plan para proponer esta función al equipo de desarrollo de VSCode. Por eso digo "todavía" porque todavía existe la posibilidad de que esta función se agregue en el futuro de VSCode.
Wanda Ichsanul Isra
¿Qué se entiende por "modo de línea visual"? Usando Shift + v simplemente ingresa una V mayúscula en el editor
user1081679
Escríbalo
14

Ahora VSCode admite el empaquetado automático desde el primer momento.

Configuración -> Editor de texto -> Las últimas 3 opciones (como en la actualidad) son para envoltura automática.

  1. Ajuste de palabras (controla cómo deben ajustarse las líneas)
  2. Columna de ajuste de palabras (controla la columna de ajuste del editor)
  3. Sangría de ajuste (controla la sangría de las líneas ajustadas)

Por defecto, Word Wrap está desactivado.

Arun Kumar Khattri
fuente
24
Esto es para un ajuste "suave", también conocido como ajuste cuando se muestra en el editor, pero no envuelve el texto real.
forivall
2

Actualmente hay una solicitud abierta para esto en el rastreador de problemas de código VS en GitHub, puede encontrarlo aquí

Mark Carpenter Jr.
fuente
2

Comentarios de envoltura dura

Utilice la extensión Rewrap .

Código de envoltura suave

Agregue la siguiente configuración (reemplace el ancho de la columna con su preferencia): "editor.wordWrapColumn": 100

Luego agregue "editor.wordWrap": "wordWrapColumn"(se ajusta en la columna) o "editor.wordWrap": "bounded"(se ajusta en la columna o en la ventana gráfica).

Comentarios de envoltura dura y código de envoltura suave

Desafortunadamente, la extensión y la configuración de VSCode no funcionan bien.

No dude en votar a favor de esta solicitud de función .

jabacchetta
fuente