Преобразование табуляций в пробелы
Количество пробелов на табуляцию:
Как пользоваться Преобразование табуляций в пробелы
- 1
Вставьте текст
Вставьте код или текст, содержащий символы табуляции, в поле ввода.
- 2
Задайте число пробелов на табуляцию
Выберите, сколькими пробелами должна стать каждая табуляция, с помощью поля «Число пробелов на табуляцию», например 2 или 4.
- 3
Преобразуйте табуляции
Нажмите «Преобразовать табуляции в пробелы», и каждая табуляция заменится выбранным вами числом пробелов.
- 4
Скопируйте вывод
Используйте «Копировать вывод», чтобы получить очищенный текст с отступами из пробелов для вашего редактора или документа.
Преобразование табуляций в пробелы для единообразных отступов
Что делает инструмент
Этот инструмент заменяет каждый символ табуляции в тексте выбранным вами числом пробелов. Укажите в поле количества пробелов на табуляцию значение 2, 4 или любое другое — и каждая табуляция превратится ровно в столько пробелов. Замена выполняется буквально и один к одному: на входе одна табуляция, на выходе заданное вами число пробелов.
Поскольку табуляция — это единственный невидимый символ, который редактор отображает с некоторой шириной, замена её фиксированным числом настоящих пробелов делает отступ конкретным и одинаковым везде, где открывается текст.
Почему табуляции и пробелы создают проблемы
У табуляции нет фиксированной ширины; это сигнал, означающий «перейти к следующей позиции табуляции». Разные редакторы и программы просмотра расставляют эти позиции по-разному — чаще всего через 2, 4 или 8 столбцов. Поэтому один и тот же файл с отступами из табуляций в одном редакторе выглядит аккуратно выровненным, а в другом — рваным; именно отсюда берёт начало давний спор «табуляции против пробелов».
Пробелы, напротив, однозначны. Четыре пробела подряд занимают четыре столбца, где бы вы ни открыли файл. Преобразование табуляций в пробелы меняет гибкость табуляций на гарантированное и переносимое единообразие.
Выбор ширины табуляции
Выбранное число должно соответствовать соглашениям того места, куда попадёт код. Во многих проектах на JavaScript и TypeScript используют 2 пробела. Широко принятое руководство по стилю Python предписывает 4. В некоторых кодовых базах на C и Go исторически применяли эквивалент 8 пробелов. Перед преобразованием загляните в руководство по стилю проекта или в существующие файлы, чтобы ваши пробелы совпадали с принятыми у остальных.
Если ошибиться с числом, преобразованный код останется корректным, но глубина отступов не совпадёт с окружающим кодом, что бросается в глаза при код-ревью. Правильную ширину стоит уточнить заранее.
Каждая табуляция, а не только отступы
Этот инструмент заменяет все символы табуляции в тексте, включая те, что встречаются в середине строки, а не только начальные отступы в начале каждой строки. Обычно это как раз то, что нужно, ведь случайные табуляции посреди строки — это именно тот вид неоднородных пробельных символов, который и нарушает выравнивание.
Однако имейте это в виду для данных с разделителями-табуляциями: если в строке табуляции служат разделителями столбцов, их замена пробелами изменит то, как такие данные разбираются. Для отступов в исходном коде это правильное поведение, а для данных в формате TSV — возможно, нет.
Языки, где это действительно важно
В Python отступы являются частью синтаксиса, и смешение табуляций и пробелов в одном блоке — это ошибка, которую интерпретатор отвергнет. Приведение всего к пробелам устраняет целый класс запутанных сбоев. YAML столь же строг и вовсе запрещает табуляции для отступов, поэтому преобразование табуляций в пробелы зачастую обязательно, чтобы файл YAML стал корректным.
Даже в языках, где отступы носят чисто косметический характер, единообразные пробелы сохраняют чистоту diff-ов и не дают выравниванию сместиться, когда коллега открывает файл с другими настройками табуляции.
Переносы строк и другие пробелы в безопасности
Преобразование затрагивает только символы табуляции. Ваши переносы строк, имеющиеся пробелы и всё остальное содержимое остаются ровно такими, какими были. Ничего не объединяется, не обрезается и не переставляется, кроме превращения каждой табуляции в пробелы. Благодаря этому инструмент можно безопасно применять ко всему файлу, не опасаясь, что он нарушит структуру.
Если окажется, что в коде есть ещё и цепочки лишних пробелов, которые хочется свернуть, — это уже задача для отдельного инструмента очистки пробелов; этот же сосредоточен исключительно на замене табуляций пробелами.
Как встроить инструмент в рабочий процесс
Типичный сценарий: вы вставляете фрагмент, скопированный из источника, где использовались табуляции, в проект, требующий пробелов, преобразуете его под ширину проекта и добавляете уже с правильными отступами. Инструмент также удобен для разовой очистки, когда автоформатер редактора не настроен или недоступен.
Поскольку всё работает в вашем браузере без какой-либо загрузки на сервер, вы можете безопасно преобразовывать закрытый или конфиденциальный код, а результат появляется мгновенно, так что можно пробовать разную ширину и сравнивать, пока отступы не совпадут.
Часто задаваемые вопросы
Во сколько пробелов преобразуется каждая табуляция?
Зачем преобразовывать табуляции в пробелы в коде?
Заменяет ли он только начальные отступы или все табуляции?
Изменит ли он мои переносы строк или другие пробелы?
Бесплатен ли он и загружается ли мой код куда-либо?
Похожие инструменты
Продолжайте работу с этими удобными инструментами