Как я могу автоматически обматывать строки в VSCode? Под этим я подразумеваю, что если строка достигает указанного столбца, автоматически вставляйте новую строку на границе слова, ближайшей к этому столбцу, без перехода. У Vim есть настройка, называемая textwidth, которая делает это, которую я люблю использовать при редактировании Markdown. Насколько мне известно, VSCode не кажется. У этого есть только способы контролировать softwrapping.
Автоматически обертывание строк в столбце VSCode
Ответ 1
VSCode не поддерживает это из коробки. Но вы можете установить расширение Rewrap
, которое позволяет форматировать блок, в котором находится ваш курсор, нажав Alt + Q.
Rewrap
требует дополнительных настроек, так как он читает настройки VSCode, чтобы получить столбец, на котором нужно разбить.
Несмотря на то, что Rewrap
не является автоматическим (вам нужно нажимать сочетание клавиш всякий раз, когда вы хотите отформатировать), автоматическая жесткая упаковка, как представляется, появится в следующем выпуске Rewrap
: https://github.com/stkb/Rewrap/issues/45
Ответ 2
К сожалению, у VSCode пока нет этой функции. Но мы все еще можем сделать так, чтобы vim автоматически включал красивую функцию автоматического переноса слов.
Первый шаг
Нам нужно настроить функцию мягкого переноса слов в VSCode.
- Откройте VSCode Настройки через
Code => Preferences => Settings
. -
Добавьте эти 3 строки настроек редактора.
"editor.wordWrap": "wordWrapColumn", "editor.wrappingIndent": "same", "editor.wordWrapColumn": n
Не забудьте изменить (n) с вашей предпочтительной длиной строки столбцов. Для меня мне удобнее установить его на 60.
-
Сохраните эту настройку.
Основная цель этого первого шага - заставить нас чувствовать себя более комфортно, когда мы печатаем, потому что нам не нужно вручную печатать Enter и видеть длинную строку текста.
Второй шаг
Нам нужно установить эмуляцию Vim для VSCode и установить vim textwidth
.
- Установите эмуляцию Vim через расширения VSCode.
- Откройте VSCode Настройки через
Code => Preferences => Settings
. -
Добавьте эту строку настройки vim.
"vim.textwidth": n,
Не забудьте изменить (n) с вашей предпочтительной длиной строки столбцов. Для меня я установлю то же самое с (n) в первом шаге.
-
Сохраните эту настройку.
Фактическое использование
Когда вы закончите писать весь документ, вы можете отформатировать его так, чтобы он был жестким переносом строк.
- Блокируйте весь текст, используя режим визуальной линии (Shift + v)
- Введите "gq"
Ответ 3
В настоящее время существует запрос Open для этого в Tracker Issue для устранения ошибок VS на GitHub, Вы можете найти его здесь
Ответ 4
Hard Wrap Комментарии
Используйте расширение Rewrap.
Код мягкой упаковки
Добавьте следующий параметр (замените ширину столбца вашими предпочтениями): "editor.wordWrapColumn": 100
Затем добавьте "editor.wordWrap": "wordWrapColumn"
(перенос по столбцу) или "editor.wordWrap": "bounded"
("editor.wordWrap": "bounded"
по столбцу или "editor.wordWrap": "bounded"
просмотра).
Жесткие комментарии и мягкая упаковка
К сожалению, настройки расширения и VSCode не воспроизводятся.
Не стесняйтесь поднять запрос на эту функцию.
Ответ 5
Теперь VSCode поддерживает автоматическую упаковку из коробки.
Настройки → Текстовый редактор → Последние 3 варианта (как на сегодняшний день) для автоматического переноса.
- Перенос слов (управляет переносом строк)
- Word Wrap Column (Управляет переносом столбца редактора)
- Отступ для переноса (управляет отступом для переносимых строк)
По умолчанию перенос слов отключен.