Как преобразовать табуляцию в пробелы и наоборот в существующем файле


102

Я не могу понять, как это сделать, за исключением того, что выполняю поиск-замену на 4 пробела и конвертирую в вкладки ( версия 0.10.2 ). Я не могу вспомнить редактор / IDE, у которого нет специальной функции для этого. Есть ли VSCode?

Ответы:


172

После исправления: https://github.com/Microsoft/vscode/issues/1228 редактор поддерживает его из коробки. Просто выберите:

  1. F1,
  2. indentationToSpacesили indentationToTabs(в зависимости от ваших потребностей)
  3. Enter.

20
Это преобразует только ведущие пробелы / табуляции.
Найджел Скотт

13
Для шага 1 вы также можете сделатьctrl+shift+p
AlexG 04

См. Мой ответ ниже для преобразования не ведущих пробелов / табуляции. stackoverflow.com/a/51735845/263139
jrupe 07

6
Ни один из ответов не преобразует каждую вкладку в правильное и РАЗЛИЧНОЕ количество пробелов. Например, введите этот текст и затем конвертируйте: Строка 1: «A \ tB». Строка 2: «ABC \ tD».
typpo

СПАСИБО, я потерялся в обсуждениях в течение 2 часов, и это то, что мне нужно,
Брайан Уайт

50

Другой способ сделать это - щелкнуть текущий отступ (Tab / Spaces: n) в нижнем колонтитуле, чтобы открыть параметры отступа, где вы можете выбрать то, что хотите сделать. введите описание изображения здесь


9
Это преобразовывает только вкладки в отступах, а не все вкладки.
Дэвид Гивен

33

Если вы пытаетесь преобразовать не ведущие табуляции в пробелы (или наоборот), вы можете использовать поиск и замену по регулярному выражению.

  1. Нажмите CTRL + H
  2. Нажмите .*кнопку для поиска с использованием регулярных выражений.
  3. Для поиска вкладок войдите [\t]в поле поиска.
  4. Введите пробелы в поле «Заменить» и выполните замену.

Поле поиска в режиме регулярного выражения: снимок экрана с окном поиска регулярного выражения VSCode


20
Это преобразует каждую вкладку в одинаковое количество пробелов, что неверно.
Дэвид Гивен

не работает, добавьте больше пробелов и все
испортится

Это действительно полезно, если вы хотите преобразовать формат данных, разделенных табуляцией, в разделенный запятыми. :)
Бридли

6
  1. Выберите Заменить: CTRL-H
  2. Введите горизонтальную табуляцию в поле поиска: удерживайте ATL и введите 009 на клавиатуре.
  3. Введите пробел (или несколько пробелов) в поле «Заменить»: нажмите клавишу пробела
  4. Нажмите Enter, чтобы начать замену табуляции пробелом.

1
У меня это не сработало, но я опубликовал ответ ниже о том, как сделать это для не ведущих пробелов / табуляции с использованием регулярных выражений.
jrupe 07

8
Это преобразует каждую вкладку в одинаковое количество пробелов, что неверно.
Дэвид Гивен
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.