183 votes

Mise en forme automatique des lignes en colonne dans VSCode

Comment puis-je mettre automatiquement les lignes en enveloppe dure dans le VSCode ? J'entends par là que si une ligne atteint une colonne donnée, il faut automatiquement insérer une nouvelle ligne à la limite du mot la plus proche de cette colonne sans la dépasser. Vim dispose d'un paramètre appelé largeur du texte qui fait cela et que j'aime utiliser lors de l'édition de Markdown. Il ne semble pas que VSCode le fasse, pour autant que je puisse dire. Il a juste des moyens de contrôler le softwrapping.

1 votes

3 votes

@MableJohn C'est environ doux envelopper ( en affichant de longues lignes de tampon divisées en plusieurs lignes d'écran), cette question porte sur dur envelopper ( modifier les lignes du tampon pour donner une certaine longueur maximale de ligne). Le retour à la ligne peut n'affecter que la ligne que vous êtes en train de taper ou peut inclure le "reflux" ou le "remplissage" de paragraphes entiers afin que chaque ligne soit aussi proche que possible de la longueur de ligne cible sans déborder.

223voto

oli_obk Points 15706

VSCode ne prend pas en charge cette fonction. Mais vous pouvez installer le Rewrap qui vous permet de formater le bloc dans lequel se trouve votre curseur en appuyant sur la touche Alt + Q .

Rewrap ne nécessite pas d'autres réglages, puisqu'il lit les réglages de VSCode pour obtenir la colonne à laquelle il faut casser.

Rewrap prend également en charge l'habillage automatique (désactivé par défaut) : https://github.com/stkb/Rewrap/wiki/Auto-wrap

3 votes

Je marque cette réponse comme étant la réponse acceptée et je l'édite pour mentionner qu'elle supporte maintenant le remballage automatique !

6 votes

Il semble que cela ne concerne que les blocs de commentaires ? et les lignes de code ? J'ai essayé la dernière version, la 1.9.1, et les commentaires de bloc sont enveloppés automatiquement, mais pas les lignes de code (j'utilise le langage C).

5 votes

Il est intéressant de noter qu'il fonctionne très bien avec MarkDown.

69voto

wlisrausr Points 870

Malheureusement, VSCode ne dispose pas encore de cette fonctionnalité. Mais, nous pouvons toujours faire en sorte qu'elle soit aussi proche que possible de la réalité. habillage automatique des mots dans vim belle caractéristique.


Première étape

Nous devons configurer la fonction de retour à la ligne dans le VSCode.

  1. Ouvrez les paramètres de VSCode via Code => Preferences => Settings .

  2. Ajoutez ces 3 lignes de paramètres de l'éditeur.

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

    N'oubliez pas de modifier ( n ) avec la longueur de ligne de colonnes de votre choix. Pour ma part, je me sens plus à l'aise en la fixant à 60.

  3. Enregistrez ce paramètre.

L'objectif principal de cette première étape est de nous rendre plus à l'aise lorsque nous tapons, car nous n'avons pas besoin de taper manuellement. Enter et voir une longue ligne de texte.


Deuxième étape

Nous devons installer Emulation de Vim pour VSCode et mettre vim textwidth .

  1. Installer l'émulation Vim via les extensions VSCode.

  2. Ouvrez les paramètres de VSCode via Code => Preferences => Settings .

  3. Ajoutez cette ligne de réglage vim.

    "vim.textwidth": n,

    N'oubliez pas de modifier ( n ) avec la longueur de ligne de colonnes de votre choix. En ce qui me concerne, je vais la définir comme étant la même que ( n ) dans la première étape.

  4. Enregistrez ce paramètre.


Utilisation réelle

Lorsque vous avez terminé de rédiger votre document complet, vous pouvez le formater pour qu'il soit constitué de lignes à enveloppe dure en utilisant cette méthode.

  1. Bloquer tout le texte en utilisant le mode ligne visuelle ( Shift + v)
  2. Type gq

0 votes

Vous dites "encore". Avez-vous connaissance de projets ou de travaux en cours ?

0 votes

Non, je ne suis pas sûr. J'ai l'intention de proposer cette fonctionnalité à l'équipe de développement de VSCode. C'est pourquoi je dis "encore" parce qu'il pourrait encore y avoir une possibilité que cette fonctionnalité soit ajoutée dans le futur de VSCode.

26voto

Désormais, VSCode prend en charge l'enveloppement automatique dès le départ.

Paramètres --> Éditeur de texte --> Les 3 dernières options (comme aujourd'hui) sont pour l'habillage automatique.

  1. Retour à la ligne (contrôle le retour à la ligne)
  2. Colonne d'habillage des mots (Contrôle la colonne d'habillage de l'éditeur)
  3. Indentation de l'habillage (Contrôle l'indentation des lignes habillées)

Par défaut, le retour à la ligne est désactivé.

59 votes

Il s'agit d'une enveloppe "souple", c'est-à-dire une enveloppe qui s'affiche dans l'éditeur, mais qui n'enveloppe pas le texte proprement dit.

3 votes

Puisque le mot " dur Le mot "wrap" est mentionné à la fois dans le titre et dans la description de la question, je vais donc décoter cette réponse.

9voto

jabacchetta Points 2067

Commentaires sur l'emballage rigide

Utilisez le Rewrap extension .

Code d'enveloppement souple

Ajoutez le paramètre suivant (remplacez la largeur des colonnes par votre préférence) : "editor.wordWrapColumn": 100

Ensuite, ajoutez soit "editor.wordWrap": "wordWrapColumn" (enveloppe de la colonne) ou "editor.wordWrap": "bounded" (s'enroule soit sur la colonne, soit sur la fenêtre de visualisation).

Commentaires sur l'emballage rigide et code d'emballage souple

Malheureusement, les paramètres de l'extension et de VSCode ne jouent pas en harmonie.

N'hésitez pas à Votez en faveur de cette demande de fonctionnalité .

3voto

Mark Carpenter Jr Points 362

Il y a actuellement une demande ouverte pour cela dans le tracker VS Code Issue sur GitHub, Vous pouvez le trouver ici

0 votes

Malheureusement, le problème est maintenant fermé et le sujet verrouillé. "Nous essayons de garder VS Code lean" :(

0 votes

Yep, définitivement fermé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X