T

Text Machine

Мощные текстовые инструменты прямо в браузере

Преобразование табуляций в пробелы

Ввод

Количество пробелов на табуляцию:

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

  1. 1

    Вставьте текст

    Вставьте код или текст, содержащий символы табуляции, в поле ввода.

  2. 2

    Задайте число пробелов на табуляцию

    Выберите, сколькими пробелами должна стать каждая табуляция, с помощью поля «Число пробелов на табуляцию», например 2 или 4.

  3. 3

    Преобразуйте табуляции

    Нажмите «Преобразовать табуляции в пробелы», и каждая табуляция заменится выбранным вами числом пробелов.

  4. 4

    Скопируйте вывод

    Используйте «Копировать вывод», чтобы получить очищенный текст с отступами из пробелов для вашего редактора или документа.

Преобразование табуляций в пробелы для единообразных отступов

Что делает инструмент

Этот инструмент заменяет каждый символ табуляции в тексте выбранным вами числом пробелов. Укажите в поле количества пробелов на табуляцию значение 2, 4 или любое другое — и каждая табуляция превратится ровно в столько пробелов. Замена выполняется буквально и один к одному: на входе одна табуляция, на выходе заданное вами число пробелов.

Поскольку табуляция — это единственный невидимый символ, который редактор отображает с некоторой шириной, замена её фиксированным числом настоящих пробелов делает отступ конкретным и одинаковым везде, где открывается текст.

Почему табуляции и пробелы создают проблемы

У табуляции нет фиксированной ширины; это сигнал, означающий «перейти к следующей позиции табуляции». Разные редакторы и программы просмотра расставляют эти позиции по-разному — чаще всего через 2, 4 или 8 столбцов. Поэтому один и тот же файл с отступами из табуляций в одном редакторе выглядит аккуратно выровненным, а в другом — рваным; именно отсюда берёт начало давний спор «табуляции против пробелов».

Пробелы, напротив, однозначны. Четыре пробела подряд занимают четыре столбца, где бы вы ни открыли файл. Преобразование табуляций в пробелы меняет гибкость табуляций на гарантированное и переносимое единообразие.

Выбор ширины табуляции

Выбранное число должно соответствовать соглашениям того места, куда попадёт код. Во многих проектах на JavaScript и TypeScript используют 2 пробела. Широко принятое руководство по стилю Python предписывает 4. В некоторых кодовых базах на C и Go исторически применяли эквивалент 8 пробелов. Перед преобразованием загляните в руководство по стилю проекта или в существующие файлы, чтобы ваши пробелы совпадали с принятыми у остальных.

Если ошибиться с числом, преобразованный код останется корректным, но глубина отступов не совпадёт с окружающим кодом, что бросается в глаза при код-ревью. Правильную ширину стоит уточнить заранее.

Каждая табуляция, а не только отступы

Этот инструмент заменяет все символы табуляции в тексте, включая те, что встречаются в середине строки, а не только начальные отступы в начале каждой строки. Обычно это как раз то, что нужно, ведь случайные табуляции посреди строки — это именно тот вид неоднородных пробельных символов, который и нарушает выравнивание.

Однако имейте это в виду для данных с разделителями-табуляциями: если в строке табуляции служат разделителями столбцов, их замена пробелами изменит то, как такие данные разбираются. Для отступов в исходном коде это правильное поведение, а для данных в формате TSV — возможно, нет.

Языки, где это действительно важно

В Python отступы являются частью синтаксиса, и смешение табуляций и пробелов в одном блоке — это ошибка, которую интерпретатор отвергнет. Приведение всего к пробелам устраняет целый класс запутанных сбоев. YAML столь же строг и вовсе запрещает табуляции для отступов, поэтому преобразование табуляций в пробелы зачастую обязательно, чтобы файл YAML стал корректным.

Даже в языках, где отступы носят чисто косметический характер, единообразные пробелы сохраняют чистоту diff-ов и не дают выравниванию сместиться, когда коллега открывает файл с другими настройками табуляции.

Переносы строк и другие пробелы в безопасности

Преобразование затрагивает только символы табуляции. Ваши переносы строк, имеющиеся пробелы и всё остальное содержимое остаются ровно такими, какими были. Ничего не объединяется, не обрезается и не переставляется, кроме превращения каждой табуляции в пробелы. Благодаря этому инструмент можно безопасно применять ко всему файлу, не опасаясь, что он нарушит структуру.

Если окажется, что в коде есть ещё и цепочки лишних пробелов, которые хочется свернуть, — это уже задача для отдельного инструмента очистки пробелов; этот же сосредоточен исключительно на замене табуляций пробелами.

Как встроить инструмент в рабочий процесс

Типичный сценарий: вы вставляете фрагмент, скопированный из источника, где использовались табуляции, в проект, требующий пробелов, преобразуете его под ширину проекта и добавляете уже с правильными отступами. Инструмент также удобен для разовой очистки, когда автоформатер редактора не настроен или недоступен.

Поскольку всё работает в вашем браузере без какой-либо загрузки на сервер, вы можете безопасно преобразовывать закрытый или конфиденциальный код, а результат появляется мгновенно, так что можно пробовать разную ширину и сравнивать, пока отступы не совпадут.

Часто задаваемые вопросы

Во сколько пробелов преобразуется каждая табуляция?
Решаете вы. Введите любое значение в поле «Число пробелов на табуляцию», и каждый символ табуляции в тексте заменится ровно этим числом пробелов.
Зачем преобразовывать табуляции в пробелы в коде?
Многие руководства по стилю и линтеры требуют пробелы для единообразных отступов, поскольку табуляции могут отображаться разной шириной в разных редакторах. Преобразование в пробелы гарантирует, что ваш код выглядит одинаково везде.
Заменяет ли он только начальные отступы или все табуляции?
Он заменяет каждый символ табуляции в тексте, включая табуляции в середине строки, а не только отступы в начале каждой строки.
Изменит ли он мои переносы строк или другие пробелы?
Нет. Заменяются только символы табуляции. Ваши переносы строк, существующие пробелы и остальное содержимое остаются ровно такими, какими были.
Бесплатен ли он и загружается ли мой код куда-либо?
Инструмент бесплатен и не требует регистрации, а преобразование полностью выполняется в вашем браузере, поэтому ваш код или текст никогда не отправляется на сервер.

Похожие инструменты

Продолжайте работу с этими удобными инструментами

Удалить Лишние Пробелы

Конвертер Регистра

Поиск и Замена Текста

Бионическое чтение

Сделать первую букву заглавной

Сделать Каждое Слово с Заглавной Буквы