Работа с конфигурацией

Форматировщик TOMLПриведите файл в порядок вместе с пояснениями

Проверьте синтаксис и отдельный результат, прежде чем заменять исходный текст.

Форматировщик TOML

Исходный TOML

Результат форматирования

Содержимое обрабатывается в браузере: оно не отправляется, не исполняется, не сохраняется и не добавляется в URL.

По умолчанию порядок сохранён. Сортируются только непрерывные группы; связанные заметки следуют за ключами, заголовки остаются в группе. Порядок массивов и таблиц не меняется.

TOML 1.0.0 · dprint TOML 0.8.0 · toml-eslint-parser 1.0.3. Проверка синтаксиса не проверяет схемы приложения.

Ввод: 500 000 единиц UTF-16 / 2 МБ UTF-8; 50 000 узлов, глубина 100, результат до 2 млн символов; задача до 5 секунд.

Навигация по таблицам

Введите TOML или запустите проверку.

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

Форматирование TOML требует различать таблицы, даты и многострочные значения. Здесь проверка TOML опирается на синтаксическое дерево, а комментарии TOML остаются частью документа. Строка в тройных кавычках с квадратными скобками не превращается в ложный пункт навигации.

Зачем нужен Форматировщик TOML

Читаемые настройки с пояснениями на своих местах

Не теряйте заметки к параметрам

Форматировщик TOML сохраняет отдельные комментарии и пояснения в конце строки. При сортировке связанные заметки перемещаются вместе с записью, а заголовки, отделённые пустыми строками, остаются в начале своей группы.

Цветные маркеры комментариев остаются связанными с соответствующими записями после выравнивания конфигурации.

Переходите к реальным объявлениям

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

Список соединён с настоящими разделами таблиц, но не с квадратными скобками внутри многострочного текста.

Сначала проверка, затем замена

Три особенности рабочего процесса

01

Отделяйте проверку от форматирования

Только проверить отменяет ожидающую автоматическую задачу и разбирает текущий ввод. Навигация остаётся доступной, но результат пуст и экспорт отключён. Новое редактирование возвращает автоформатирование; в ручном режиме доступны кнопка и Ctrl/Cmd+Enter.

02

Открывайте позицию в исходнике

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

03

Просматривайте текст перед заменой

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

Настройки для настоящих файлов проекта

Меняйте оформление с учётом типов TOML

Обработка синтаксического дерева

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

Сортировка в пределах группы

Порядок ключей по умолчанию не меняется. Сортировка учитывает группы, разделённые пустыми строками, и переносит связанные комментарии вместе с ключом. Элементы массивов, ключи встроенных таблиц, обычные таблицы и элементы массивов таблиц не переставляются.

Отступы и окончания строк

Выберите два или четыре пробела либо табуляцию, желаемую ширину 80, 100 или 120 столбцов и результат с LF или CRLF. Ширина задаёт предпочтение, а не принудительный разрыв любого длинного комментария или строкового значения. Содержимое строк сохраняется.

Экспорт актуальной версии

Автоматический режим ждёт 350 мс после редактирования; в ручном появляется кнопка форматирования. Задача выполняется в отменяемом worker браузера не дольше пяти секунд. Буфер обмена и файл UTF-8 получают один и тот же актуальный текст.

Поддерживаемый синтаксис и ограничения

Что подтверждает успешная проверка

Заявленная версия — TOML 1.0.0
Разбор выполняет toml-eslint-parser 1.0.3 в режиме TOML 1.0.0, оформление — dprint TOML 0.8.0. Возможности только из TOML 1.1 не входят в контракт. Повторный ключ или неверный синтаксис останавливают обработку на первом диагностическом сообщении со строкой и столбцом, без обещания перечислить все ошибки сразу.
Сохранность содержимого не равна совпадению байтов
Сохраняются большие целые числа, даты и время, многострочные строки, неконечные числа и комментарии. Пробелы и пустые строки могут измениться; пробелы в конце комментария могут удаляться. Комментарии являются текстом: они не управляют движком и не загружают схемы. Результат отклоняется при неудачной проверке сохранности.
Коллекции не переупорядочиваются
Сортировка касается только групп ключей и связанных с ними заметок. Заголовок, отделённый пустой строкой, остаётся в начале группы. Таблицы, элементы массивов таблиц, элементы массивов и ключи встроенных таблиц не сортируются. Специальные соглашения Cargo отключены.
Правила приложения не проверяются
Синтаксически корректный pyproject.toml или Cargo.toml может содержать неизвестные поля, неверные ограничения зависимостей или неподходящие типы. Нет загрузки удалённых схем, разрешения зависимостей и запуска сборки. Некорректный синтаксис не исправляется, повторные ключи не удаляются автоматически.
Один локальный текст за раз
Принимаются вставленный текст или один файл UTF-8 с LF либо CRLF. Одиночный CR не является допустимым переносом TOML 1.0. Нет импорта по URL, ссылок с конфигурацией, постоянной истории, пакетной обработки каталогов и перезаписи оригинала. Для конвертации предусмотрены другие инструменты.
Ограниченные ресурсы
Ввод ограничен 500 000 единицами UTF-16 и 2 МБ UTF-8, 50 000 узлами и глубиной 100. Результат — до 2 млн символов. На задачу отводится пять секунд вместе с загрузкой движка. Ошибки Unicode, синтаксиса, ресурсов или сохранности блокируют экспорт; отмена прекращает текущую задачу.

Форматировщик TOML: вопросы

О версии, комментариях и выборе отступов

Проверяется ли синтаксис во время форматирования?

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

Какую редакцию спецификации понимает инструмент?

Заявлена TOML 1.0.0 с анализатором toml-eslint-parser 1.0.3 и движком dprint TOML 0.8.0. Версии указаны рядом с параметрами. Возможности, добавленные только в TOML 1.1, не входят в поддерживаемый контракт, даже если другой редактор их принимает.

Останутся ли пояснения и исходная последовательность ключей?

Форматировщик TOML сохраняет текст комментариев, но может убрать пробелы в их конце. По умолчанию ключи не сортируются. При включении сортировки связанные заметки следуют за записью, а заголовки остаются в группе; порядок таблиц и массивов не меняется.

Как подобрать отступы для проекта?

Согласуйте их с принятым оформлением репозитория: доступны два или четыре пробела и табуляция. Ширина 80, 100 или 120 столбцов является предпочтением, а не обязательным пределом каждой строки. Форматировщик TOML показывает отдельный результат, поэтому эффект можно оценить до замены исходника.

Уходит ли содержимое файла на внешний сервер?

Ввод обрабатывается в worker браузера. Движок загружается как ресурс сайта, но этот запрос не содержит конфигурацию. Форматировщик TOML создаёт новый файл только по команде скачивания и не меняет оригинал на диске.

Есть комментарий или таблица, которые стоит проверить?

Попробуйте Форматировщик TOML

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

Верный синтаксис не заменяет проверку самого проекта.