Quebrar linhas automaticamente na coluna em VSCode

105

Como posso quebrar linhas automaticamente no VSCode? Com isso quero dizer que se uma linha atinge uma coluna especificada, insere automaticamente uma nova linha no limite da palavra mais próximo dessa coluna, sem ultrapassar. O Vim tem uma configuração chamada largura de texto que faz isso que eu gosto de usar ao editar Markdown. Não parece que o VSCode parece, pelo que eu posso dizer. Ele apenas possui maneiras de controlar o softwrapping.

Brian Schlenker
fonte
2
Alguém poderia responder isso já!
umayfindurself
Seu uso disso em relação ao markdown é brilhante, nunca pensei em usar quebras rígidas como essa.
Mark Carpenter Jr

Respostas:

143

O VSCode não oferece suporte para isso fora da caixa. Mas você pode instalar a Rewrapextensão, que permite formatar o bloco em que o cursor está atualmente pressionando Alt+ Q.

Rewrap não requer configurações adicionais, uma vez que lê as configurações do VSCode para obter a coluna na qual quebrar.

Rewraptambém suporta empacotamento automático (desativado por padrão): https://github.com/stkb/Rewrap/wiki/Auto-wrap

oli_obk
fonte
2
Marcando isso como a resposta aceita e editando para mencionar que agora ele suporta reenvolvimento automático!
Brian Schlenker de
1
Parece que isso é apenas para bloquear comentários? e as linhas de código? Tentei a versão mais recente que é 1.9.1 e os comentários de bloco são quebrados automaticamente, no entanto, para linhas de código (estou usando a linguagem C), isso não acontece.
Yusuf Husainy
3
Vale a pena mencionar que funciona muito bem com MarkDown ❤
chesterbr
2
Não consigo quebrar linhas de código com ReWrap como @YusufHusainy apontou.
Fawwaz Yusran
39

Infelizmente, o VSCode ainda não tem esse recurso. Mas, ainda podemos torná-lo tão próximo quanto o belo recurso de quebra automática de palavras do vim .


Primeiro passo

Precisamos configurar o recurso de quebra automática de palavras no VSCode.

  1. Abra as configurações do VSCode via Code => Preferences => Settings.
  2. Adicione essas 3 linhas de configurações do editor.

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

    Não se esqueça de alterar ( n ) com seu comprimento preferido de linha de colunas. Para mim, me sinto mais confortável definindo para 60.

  3. Salve esta configuração.

O principal objetivo desta primeira etapa é fazer com que nos sintamos mais confortáveis ​​ao digitar, porque não precisamos digitar manualmente Entere ver uma linha longa de texto.


Segundo passo

Precisamos instalar a emulação Vim para VSCode e definir vim textwidth.

  1. Instale a emulação Vim por meio de extensões VSCode.
  2. Abra as configurações do VSCode via Code => Preferences => Settings.
  3. Adicione esta linha de configuração do vim.

    "vim.textwidth": n,

    Não se esqueça de alterar ( n ) com seu comprimento preferido de linha de colunas. Para mim, irei definir que seja o mesmo com ( n ) na primeira etapa.

  4. Salve esta configuração.


Uso Real

Quando terminar de escrever todo o documento, você pode formatá-lo para linhas de quebra automática usando este método.

  1. Bloquear todo o texto usando o modo de linha visual ( Shift+ v)
  2. Digite 'gq'
Wanda Ichsanul Isra
fonte
Você diz "ainda". Você conhece algum plano ou trabalho em andamento?
oli_obk
Não, não tenho certeza. Eu tenho um plano para propor esse recurso para a equipe de desenvolvimento do VSCode. É por isso que digo "ainda", porque ainda pode haver a possibilidade desse recurso ser adicionado no futuro do VSCode.
Wanda Ichsanul Isra
O que significa "modo de linha visual"? Usar Shift + v apenas insere um V maiúsculo no editor
user1081679,
Digite quando estiver no modo normal, não no modo inserir
Wanda Ichsanul Isra
14

Agora o VSCode oferece suporte ao empacotamento automático fora da caixa.

Configurações -> Editor de Texto -> As 3 últimas opções (como hoje) são para autowrapping.

  1. Quebra de linha (controla como as linhas devem quebrar)
  2. Coluna de quebra de linha (controla a coluna de quebra de linha do editor)
  3. Recuo de quebra (controla o recuo das linhas de quebra)

Por padrão, a quebra automática de linha está desativada.

Arun Kumar Khattri
fonte
24
Isso é para embrulho "suave", também conhecido como embrulho quando é exibido no editor, mas não envolve seu texto real.
forivall
2

No momento, há uma solicitação aberta para isso no rastreador de problemas do VS Code no GitHub. Você pode encontrar aqui

Mark Carpenter Jr
fonte
2

Comentários de Hard Wrap

Use a extensão Rewrap .

Código Soft Wrap

Adicione a seguinte configuração (substitua a largura da coluna pela sua preferência): "editor.wordWrapColumn": 100

Em seguida, adicione "editor.wordWrap": "wordWrapColumn"(quebra na coluna) ou "editor.wordWrap": "bounded"(quebra na coluna ou na janela de exibição).

Comentários de Hard Wrap e Código de Soft Wrap

Infelizmente, as configurações de extensão e VSCode não funcionam bem.

Sinta-se à vontade para votar a favor desta solicitação de recurso .

Jabacchetta
fonte