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

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

jrupe
источник
20
Это преобразует каждую вкладку в одинаковое количество пробелов, что неверно.
Дэвид Гивен
не работает, добавьте больше пробелов и все
испортится
Это действительно полезно, если вы хотите преобразовать формат данных, разделенных табуляцией, в разделенный запятыми. :)
Бридли
6
  1. Выберите Заменить: CTRL-H
  2. Введите горизонтальную табуляцию в поле поиска: удерживайте ATL и введите 009 на клавиатуре.
  3. Введите пробел (или несколько пробелов) в поле «Заменить»: нажмите клавишу пробела
  4. Нажмите Enter, чтобы начать замену табуляции пробелом.
пользователь9700262
источник
1
У меня это не сработало, но я опубликовал ответ ниже о том, как сделать это для не ведущих пробелов / табуляции с использованием регулярных выражений.
jrupe 07
8
Это преобразует каждую вкладку в одинаковое количество пробелов, что неверно.
Дэвид Гивен